LeetCode91 解碼方法

2021-08-19 05:28:18 字數 773 閱讀 6346

這題,我花了好大的功夫才通過,中途踩了很多坑,從這個15頂25踩,**通過率只有10%多,就能看出這個題,雖然是乙個中等難度的題,但是並沒有那麼好做。

看到題目,感覺有點像爬樓梯的那個?想到用動態規劃。

第一次寫**,沒有考慮0的情況,出錯,那麼就考慮吧,如果出現在頭,就返回0,出現的中間的話。。。。。不過我是從後往前遞推的,這麼遞推,有很大的一點不好,就是如果碰到了'0',該怎麼處理的問題,我就想的很複雜了,先把一開始的字串中的0,和它前面的那個字元一起考慮,以兩個字元為間隔,分成好多個字串,再把每個字串的劃分結果乘起來不就行了。這樣做就要寫好多處理了。

但是,如果從前往後進行動態規劃的話,就算碰到了0,也能一起處理了。整個結題過程就變得比較簡單。前兩個字元單獨進行處理就好。

class solution

else if( s.substr( 0, 2 ) > "10" && s.substr( 0, 2 ) <= "26" )

memo[1] = 2;

else

memo[1] = 1;

}else

else if( s[i - 1] == '1' || s[i - 1] == '2' && s[i] <= '6' )

memo[i] = memo[i - 1] + memo[i - 2];

else

memo[i] = memo[i - 1];

}

} return memo[s.size( ) - 1];

}};

LeetCode 91 解碼方法

一條包含字母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 或者 ...

leetcode 91 解碼方法

一條包含字母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...

LeetCode 91 解碼方法

一條包含字母 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 或...