《剑指offer》面试题46. 把数字翻译成字符串
2024-08-29 19:01:43
问题描述
给定一个数字,我们按照如下规则把它翻译为字符串:0 翻译成 “a” ,1 翻译成 “b”,……,11 翻译成 “l”,……,25 翻译成 “z”。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。
示例 1:
输入: 12258
输出: 5
解释: 12258有5种不同的翻译,分别是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"
提示:
0 <= num < 231
代码
public:
int translateNum(int num) {
string s = to_string(num);
int n = s.size()+1;
vector<int> dp(n);
dp[0] = 1;
dp[1] = 1;
for(int i = 2; i < n; ++i)
{
dp[i] = dp[i-1];
int num = stoi(s.substr(i-2,2));
if(num >= 10 && num <= 25)
dp[i] += dp[i-2];
}
return dp[n-1];
}
};
结果
执行用时 :0 ms, 在所有 C++ 提交中击败了100.00%的用户
内存消耗 :6.1 MB, 在所有 C++ 提交中击败了100.00%的用户
最新文章
- Quartz —— 从 HelloWorld 开始
- Java多线程代码示例
- C#指定日期为一年中的第几周
- Window 下 Qt5 使用QMediaplayer 进行视频播放 流播放问题
- Testin云测试平台初体验
- Regionals 2012 :: HangZhou
- switch,break和default语句练习
- jeewx的使用_01 接入和验证
- Oracle 11g R2安装手册(图文教程)For Windows
- poj3077---进位
- WCF技术剖析之三十:一个很有用的WCF调用编程技巧[上篇]
- Android点滴---ViewHolder通用,优雅写法
- android中怎么调整字体的间距和行间距
- iOS获取视频中的指定帧的两种方法
- 关于MultipleActiveResultSets属性导致的There is already an open DataReader associated with this Command which must be closed first的解决方法
- SpringBoot+Mybatis+PageHelper简化分页实现
- 1、阿里云ECS内部机器端口被100.117.90段的ip疯狂扫描导致业务异常
- 利用Skywalking-netcore监控你的应用性能
- YOLOv3训练自己的数据
- jQ效果:jQuery之插件开发短信发送倒计时功能