leetcode面试准备:Decode Ways


A message containing letters from A-Z is being encoded to numbers using the following mapping:Given an encoded message containing digits, determine the total number of ways to decode it.For example,
Given encoded message “12”, it could be decoded as “AB” (1 2) or “L” (12).
The number of ways decoding “12” is 2.接口:public int numDecodings(String s);一维动态规划,偷懒了,照搬博文。
分析:需要注意的是,如果序列中有不能匹配的0,那么解码方法是0,比如序列012 、100(第二个0可以和1组成10,第三个0不能匹配)。递归的解法很容易,但是大集合会超时。转换成动态规划的方法,假设dp[i]表示序列s[0免费云主机域名…i-1]的解码数目初始条件:dp[0] = 1, dp[1] = (s[0] == ‘0’) ? 0 : 1dp[i] = ( s[i-1] == 0 ? 0 : dp[i-1] ) + ( s[i-2,i-1]可以表示字母 ? dp[i-2] : 0 ), 其中第一个分量是把s[0…i-1]末尾一个数字当做一个字母来考虑,第二个分量是把s[0…i-1]末尾两个数字当做一个字母来考虑复杂度: Time O(n); Space O(n)写递归的解法新航道雅思

相关推荐: 通过ssl证书查询相关网站信息的方法

小编给大家分享一下通过ssl证书查询相关网站信息的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!互联网方便了现代人们的通信,它的存在使得人们的交流变得更快捷,但是作为一种信息传输媒介,必然要面对信息传输过程的安全问题。而ssl证书正是为此而生…

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

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/29 22:34
下一篇 01/29 22:35