91. 디코딩 방법
https://leetcode-cn.com/problems/decode-ways/
디코딩 방법
예: "121013271"
상태 방정식
(1) S[i]=0
① 만약에 (S[i-1]==1||S[i-1]==2), dp[i]=dp[i-2]
“110”->”1,2,1”
② 그렇지 않으면 0으로 돌아간다
(2) 만약에 (S[i-1]==2) & & (s[i]<=6)이면 dp[i]=dp[i-1]+dp[i-2]
(3) 만약에 S[i-1]=1이 S[i]가 얼마든지 상관없이 dp[i]=dp[i-1]+dp[i-2]
3.경계
(1) Dp[0]=1,dp[-1]=1
4. 절차.
public static int numDecodings(String s) {
if(s.length() == 0 || s == null || s.charAt(0)=='0'){
return 0;
}
char[] arr = s.toCharArray();
int[] arrInt = new int[arr.length];
for(int i = 0 ; i < arr.length ; i ++){
arrInt[i] = arr[i] - '1' + 1;
}
int num1 = 1,num2 = 1;
int tmp = 1;
for(int i = 1 ;i < arrInt.length ; i ++){
tmp = num2;
if(arrInt[i] == 0){
if( arrInt[i-1] != 1 && arrInt[i-1]!=2)
return 0;
else{
tmp = num1;
}
}else{
if(arrInt[i-1]==1){
tmp = num1 + num2;
}
if(arrInt[i-1]==2 && arrInt[i] <= 6){
tmp = num1 + num2;
}
}
num1=num2;
num2 = tmp;
}
return tmp;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.