leetcode刷題筆記 Decode Ways

2022-07-29 01:06:13 字數 728 閱讀 6235

'a' -> 1

'b' -> 2...

'z' -> 26

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.

題解:dp問題。

對於s中位置i(s[i] != '0')上的字元,有兩種可能:

直接把i解碼成對應的字母,那麼此時有dp[i-1]中方法;

如果i和i-1上的字元可以共同組成乙個字母(s(i-1,i)在[10,26]範圍中),那麼又有dp[i-2]種解碼方法,所以此時dp[i] = dp[i-1]+dp[i-2];

**如下:

1

public

class

solution

12public

intnumdecodings(string s)

28return

dp[length]; 29}

30 }

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...

LeetCode刷題筆記

實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...

LeetCode刷題筆記

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...