public int translateNum(int num) { // 动态规划法 String s = String.valueOf(num); int[] dp = new int[s.length()+1]; // 初始化dp[0]代表空数字 dp[1]代表第一个数字 的组合翻译方式有一种 dp[0] = 1; dp[1] = 1; for (int i = 2; i <= s.length(); i++){ String temp = s.substring(i - 2, i); // ASCII比较 满足10-25是字母所在的范围内 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()]; }
剑指Offer-46把数字翻译成字符串
最新推荐文章于 2021-04-25 11:37:13 发布