当前位置: 首页> 娱乐> 明星 > 惠州seo博客报价_网页设计基础是什么_网络营销策划方案论文_网络营销都有哪些形式

惠州seo博客报价_网页设计基础是什么_网络营销策划方案论文_网络营销都有哪些形式

时间:2025/7/19 1:55:22来源:https://blog.csdn.net/sjsjs11/article/details/143726225 浏览次数:0次
惠州seo博客报价_网页设计基础是什么_网络营销策划方案论文_网络营销都有哪些形式

现有一串神秘的密文 ciphertext,经调查,密文的特点和规则如下:

密文由非负整数组成
数字 0-25 分别对应字母 a-z
请根据上述规则将密文 ciphertext 解密为字母,并返回共有多少种解密结果。

示例 1:
输入: ciphertext = 216612
输出: 6
解释: 216612 解密后有 6 种不同的形式,分别是 “cbggbc”,“vggbc”,“vggm”,“cbggm”,“cqgbc” 和 “cqgm”

在这里插入图片描述

动态规划

class Solution {
public:int crackNumber(int ciphertext) {std::string str = std::to_string(ciphertext);int n = str.size();vector<int> dp(n+1);dp[0] = 1;dp[1] = 1;for(int i = 2; i <= n; i++){char curNum = str[i-1], lastNum = str[i-2];if(curNum >= '0' && curNum <= '5'){if(lastNum == '1' || lastNum == '2'){dp[i] += dp[i-2];}dp[i] += dp[i-1];}else{if(lastNum == '1'){dp[i] += dp[i-2];}dp[i] += dp[i-1];}}return dp[n];}
};

时间复杂度: O(N)
空间复杂度: O(N)

这道题和将字母翻译为数字的逻辑一样,我们只需要定义dp[i]为前i个字符组成的字符串所能解密的字母个数。由于ciphertext是int类型,我们用to_string函数转化为string类型。然后我们开始遍历i,以第i个字符和第i-1个字符进行讨论,当curNum是0-5之间的时候,并且lastNum是1或2,我们可以将他们两个数字转化为一个字符。我们也可以将curNum自己转化为一个字母。

如果curNum是其他数字,那么只有当lastNum为1的时候,这两个数字才能转化为一个字母。或者我们也可以将curNum自己转化为一个字母。

最后返回dp[n]即可。

关键字:惠州seo博客报价_网页设计基础是什么_网络营销策划方案论文_网络营销都有哪些形式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: