当前位置: 首页 > news >正文

东莞网站建设都找菲凡网络网站动态页面

东莞网站建设都找菲凡网络,网站动态页面,广告设计网课,有道搜索1.题目 问题描述 小M获得了一个任务#xff0c;需要将数字翻译成字符串。翻译规则是#xff1a;0对应a#xff0c;1对应b#xff0c;依此类推直到25对应z。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的…1.题目 问题描述 小M获得了一个任务需要将数字翻译成字符串。翻译规则是0对应a1对应b依此类推直到25对应z。一个数字可能有多种翻译方法。小M需要一个程序来计算一个数字有多少种不同的翻译方法。 例如数字12258可以翻译成 bccfi, bwfi, bczi, mcfi 和 mzi共5种方式。 测试样例 样例1 输入num 12258 输出5 样例2 输入num 1400112 输出6 样例3 输入num 2110101 输出10 样例4 输入num 25 输出2 样例5 输入num 1023 输出4 2.思路 **定义状态**dp[i]表示前i个字符可以翻译的方法数 状态转移 遍历到第i位最后一位可以翻译根据分步计数乘法原理dp[i]dp[i-1] 如果后两位小于26则后两位可以翻译还有一种情况根据分步计数加法原理dp[i]dp[i-1]dp[i-2] **初始化**dp[0]1 **目标状态**dp[n-1] 3.代码 #include iostream #include string #include vector #include sstream using namespace std; int solution(int num) {// Please write your code here// 数字转字符串string str_num to_string(num);int n str_num.size(); //字符串的大小vectorint dp; //dp[i]表示到第i位有几种翻译方法dp[0] 1; //第一位有一种翻译方法for (int i 1; i n; i) {dp[i] dp[i - 1];// 判断后两位是否小于25string last_two_str to_string(str_num[i - 1]) to_string(str_num[i]);int last_two_int;stringstream(last_two_str) last_two_int;if (last_two_int 26) {dp[i] dp[i - 2];}}return dp[n - 1]; }int main() {// You can add more test cases herestd::cout (solution(12258) 5) std::endl;std::cout (solution(1400112) 6) std::endl;std::cout (solution(2110101) 10) std::endl;return 0; }Segmentation fault (core dumped) 是一个常见的运行时错误通常是由于程序试图访问未分配的内存或试图访问已释放的内存导致的。以下是一些可能的原因和解决方法 可能的原因 数组越界访问数组时超出了数组的边界。 空指针解引用尝试访问一个空指针指向的内存。 未初始化的指针使用了一个未初始化的指针。 递归深度过大递归调用过深导致栈溢出。 内存泄漏分配的内存没有正确释放导致后续操作出错。 vectorint dp; 未初始化大小你在声明 dp 向量时没有指定大小这会导致在访问 dp[0] 时出现越界错误。string last_two_str to_string(str_num[i - 1]) to_string(str_num[i]); 错误to_string(str_num[i - 1]) 和 to_string(str_num[i]) 都是字符而不是数字直接拼接字符会导致错误的结果。dp[i - 2] 访问越界当 i 为 1 时dp[i - 2] 会访问 dp[-1]这会导致越界错误。考虑str_num[i-1]0的情况后两位仅小于26也不一定能翻译成字符还需要大于9 #include iostream #include string #include vector #include sstream using namespace std; int solution(int num) {// Please write your code here// 数字转字符串string str_num to_string(num);int n str_num.size(); //字符串的大小vectorint dp(n, 0); //dp[i]表示到第i位有几种翻译方法dp[0] 1; //第一位有一种翻译方法for (int i 1; i n; i) {dp[i] dp[i - 1];// 判断后两位是否小于25string last_two_str str_num.substr(i - 1, 2); //取后两位if (stoi(last_two_str) 26 stoi(last_two_str) 9) {if (i 1) {dp[i] 1;}else{dp[i] dp[i - 2];}}}return dp[n - 1]; }int main() {// You can add more test cases herestd::cout (solution(12258) 5) std::endl;std::cout (solution(1400112) 6) std::endl;std::cout (solution(2110101) 10) std::endl;return 0; }4.参考资料 《剑指 Offer》46. 把数字翻译成字符串【LeetCode 力扣官方题解】_哔哩哔哩_bilibili
http://www.hkea.cn/news/14404558/

相关文章:

  • wordpress 网站搬家wordpress 网站主题
  • 泉州企业自助建站响应式网站搭建百度小程序
  • 境外网站做网站涉黄怎么进入公司网站
  • 做的好的家装网站网站三要素
  • 工作室 网站上海发布公众号
  • 常州网站建设常州建站工具模板
  • php网站成品成都微信网站建设
  • 有建设网站的软件吗erp管理系统的作用
  • 网站右键禁止世代网络高端企业网站建设设计功能公司
  • 外贸公司取名字大全长沙seo排名公司
  • 广州 网站设计公司排名如何自己写一个网站
  • 建网站的大公司湖北网站设计
  • 变性人做网站网站pc端建设
  • 江西省城乡建设培训网-官方网站新网域名官网
  • 青海营销网站建设服务网站开发与应用 大作业作业
  • 个人业务网站源码phpwordpress大前端增强版
  • 甘肃做高端网站的公司中国建筑业网
  • 怎么做个工程网页制作推广东莞网络优化调查公司
  • 苏州正规网站建设概况在手机上怎么建造网站
  • app网站推广平台东莞市手机网站建设品牌
  • 做海报素材的网站甘肃定西校园文化设计公司
  • 网站建设毕业设计综述中国最权威的网站排名
  • 廊坊网站制作公司排名那样的网站18年
  • 安徽建设厅网站官网如何一个空间做多个网站
  • 济南微网站建设网站设计 版权
  • 柳州公司网站制作公司温州企业网站设计
  • 注重网站建设 把好宣传思想关口net网站开发的步骤txt
  • 遵义网站seo制作微信公众号网站开发
  • 建立公司微信平台 网站平台wordpress 淘口令
  • 做网站副业苏州广告公司排名前20