leetcode 91. 解码方法(dp)
生活随笔
收集整理的這篇文章主要介紹了
leetcode 91. 解码方法(dp)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解題思路
記憶化搜索,記錄已經計算過的子問題
代碼
func numDecodings(s string) int {temp:=make([]int,len(s),len(s))for i := range temp {temp[i]=-1}return de(s,0,temp) } func de(s string,cur int,dp []int) int {if cur==len(s){return 1}if dp[cur]!=-1{return dp[cur]}res,res1:=0,0if cur+1 <= len(s) {atoi, _ := strconv.Atoi(s[cur : cur+1])if atoi>0 {res=de(s,cur+1,dp) }}if cur+2<=len(s){atoi, _ := strconv.Atoi(s[cur : cur+2])if atoi>0 {res1=de(s,cur+1,dp)}}dp[cur]=res+res1return dp[cur]}總結
以上是生活随笔為你收集整理的leetcode 91. 解码方法(dp)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到捡到东西是什么意思
- 下一篇: leetcode 28. 实现 strS