golang刷leetcode技巧的解码方法


golang刷leetcode技巧的解码方法,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一条包含字母 A-Z 的消息通过以下方式进行了编码:’A’ -> 1’B’ -> 2…’Z’ -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: “12”输出: 2解释: 它可以解码为 “AB”(1 2)或者 “L”(12)。示例 2:输入: “226”输出: 3解释: 它可以解码为 “BZ” (2 26), “VF” (22 6), 或者 “BBF” (2 2 6)解题思路:
1,动态规划解决假设s[0:i-1] 有dp[i]种解码方案
2,状态转移方程A,如果s[i]=’0′ 有两种情况
(1)s[i-1]=’1′ ||’2′
这个时候s[i-1]s[i]必须一起解码才行 故dp[i+1]=dp[i-1](2)其他情况这时候解码失败dp[i+1]=0
B,如果s[i-1]=’1’,s[i]这一位单独解码或者 和s[i-1]一起解码都可以dp[i+1]=dp[i]+dp[i-1]C,如果s[i-1]=’2′,s[i]>’0′ && s[i]
dp[i+1]=dp[i]+dp[i-1]D,其他情况,只能单独解码dp[i+1] 香港云主机=dp[i]
3,初始化条件,由于dp[i+1]用到了dp[i]和dp[i-1],所以递增迭代
如果s[0]==’0’直接解码失败,返回0dp[1]=1
为了便于计算,我们增加了dp[0],且初始化值是1测试用例:代码实现:代码优化:由于我们只用到了dp[i]和dp[i-1]俩变量,其他存储是非必须的,所以,可以优化
关于golang刷leetcode技巧的解码方法问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注开发云行业资讯频道了解更多相关知识。

相关推荐: CSS怎么实现loading动画效果

这篇文章主要介绍了CSS怎么实现loading动画效果的相关知识,内容详细易懂 香港云主机,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS怎么实现loading动画效果文章都会有所收获,下面我们一起来看看吧。预览代码使用了CSS的keyframes自…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/14 17:18
下一篇 08/14 17:18

相关推荐