一、题目内容
二、题解
解法1:
思路
转移方程
后两位可单独翻译,则
dp[i] = dp[i-1] + dp[i-2]
否则
dp[i] = dp[i-1]
代码
public class Solution {public int translateNum(int num) {String str = String.valueOf(num);int[] dp = new int[str.length() + 1];dp[0] = 1;dp[1] = 1;for (int i = 2; i <= str.length(); i++) {String temp = str.substring(i - 2, i);dp[i] = temp.compareTo("10") >= 0 && temp.compareTo("25") <= 0 ? dp[i - 1] + dp[i - 2] : dp[i - 1];}return dp[str.length()];}}
public class Solution {
public int translateNum(int num) {
String s = String.valueOf(num);
int a = 1, b = 1;
for (int i = 2; i <= s.length(); i++) {
String tmp = s.substring(i - 2, i);
int c = tmp.compareTo("10") >= 0 && tmp.compareTo("25") <= 0 ? a + b : a;
b = a;
a = c;
}
return a;
}
}
