博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode算法题--把数字翻译成字符串
阅读量:3702 次
发布时间:2019-05-21

本文共 586 字,大约阅读时间需要 1 分钟。

原题链接:

相似题目:

动态规划:

dp[i]表示以位置i为结尾的字符串情况有多少种

状态转移

dp[i] = dp[i - 1] + dp[i - 2] //当s[i - 1]s[i]构成字符串dp[i] = dp[i - 1]  //当s[i - 1]s[i]不构成字符串

代码:

int translateNum(int num) {
map
mp; for (int i = 0; i < 26; i++) {
mp[i] = 'a' + i; } string s = to_string(num); int n = s.size(); vector
dp(n + 1, 0); dp[0] = 1; dp[1] = 1; for (int i = 1; i < n; i++) {
string str = s.substr(i - 1, 2); dp[i + 1] += dp[i]; if (str[0] != '0' && mp.count(stoi(str))) dp[i + 1] += dp[i - 1]; //当str[0]不等于0时,否则str为小于10整数 } return dp[n];}

转载地址:http://opxcn.baihongyu.com/

你可能感兴趣的文章
Ubuntu 16.04 LTS 升级到 Ubuntu 18.04 LTS
查看>>
ubuntu下安装CUnit出现的问题及解决
查看>>
sourcetree出现提交成功但推送失败的问题
查看>>
c语言获取本地时间
查看>>
ubuntu中openwrt编译环境的搭建
查看>>
从字符串中获取指定字符串之间字符串
查看>>
16进制字符串转字节
查看>>
4月17日小结
查看>>
4月20日小结
查看>>
4月24日小结
查看>>
4月28日小结
查看>>
5月4日小结
查看>>
第十届山东省省赛总结
查看>>
5月19日小结
查看>>
5月22日小结
查看>>
暑期训练D1
查看>>
暑期训练D2
查看>>
暑期训练D3
查看>>
暑期训练D4
查看>>
暑期训练D6
查看>>