题目描述
问题解析
动态规划来做
三部曲:确定dp[i]含义
列出状态方程
确定初始值
代码实例
class Solution {
public int translateNum(int num) {
String s = String.valueOf(num);
int[] dp = new int[s.length() + 1];
dp[0] = 1;
dp[1] = 1;
for(int i = 2;i <= s.length();i++){
String temp = s.substring(i - 2 , i);
if(temp.compareTo("10") >= 0&&temp.compareTo("25") <= 0){
dp[i] = dp[i - 1] + dp[i - 2];//
}
else{
dp[i] = dp[i - 1];
}
}
return dp[s.length()];
}
}