面试46.把数字翻译成字符串
Posted yh-simon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试46.把数字翻译成字符串相关的知识,希望对你有一定的参考价值。
动态规划
思路
代码
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;
}
优化
public int translateNum2(int num){
int a=1,b=1,x,y=num%10;
//从右往左
while(num!=0){
num/=10;
x=num%10;
int tmp=x*10+y;
int c=(tmp>=10&&tmp<=25)?a+b:a;
b=a;
a=c;
y=x;
}
return a;
}
参考链接
以上是关于面试46.把数字翻译成字符串的主要内容,如果未能解决你的问题,请参考以下文章