Leetcode:剑指offer46:数字翻译成字符串
import javax.swing.*;
import java.util.*;
//
class Solution {
public int translateNum(int num){
String s=String.valueOf(num);
//dp数组表示到达第i位时,共有多少种表示方法
int[] dp=new int[s.length()+1];
dp[0]=1;
dp[1]=1;
for(int i=2;i<=s.length();i++){
String str=s.substring(i-2,i);
if(str.compareTo("10")>=0 && str.compareTo("25")<=0){
//如果第i位数与第i-1位数可以重新表示的话,就有dp[i-2]种表示方法
//+不把第i位和第i-1位连起来表示,就有dp[i-1]种表示方法
dp[i]=dp[i-1]+dp[i-2];
}else{
//把第i位和第i-1位连起来表示,就有dp[i-1]种表示方法
dp[i]=dp[i-1];
}
}
return dp[s.length()];
}
}
标签:
Leetcode
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律