劍指offer 46 把數字翻譯成字串

2021-10-06 23:11:45 字數 628 閱讀 1389

給定乙個數字,我們按照如下規則把它翻譯為字串:0 翻譯成 「a」 ,1 翻譯成 「b」,……,11 翻譯成 「l」,……,25 翻譯成 「z」。乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。

示例 1:

輸入: 12258

輸出: 5

解釋: 12258有5種不同的翻譯,分別是"bccfi", "bwfi", "bczi", "mcfi"和"mzi"

動態規劃

解法一

class

solution

return a;

}}

解法二:優化空間複雜度

利用取餘和求整的方法節省了空間,從右向左和從左向右是對稱的,結果相同。

class

solution

return a;

}}

劍指 Offer 46 把數字翻譯成字串

給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。示例 1 輸入 12258 輸出 5 解釋 12258有5種不同的翻譯,分別是 bccfi bwf...

劍指 Offer 46 把數字翻譯成字串

方法 演算法思想 動態規劃,到i的時候,區分最後兩位 是不是 10,25 最後一位 其他情況 時間複雜度 o n 空間複雜度 o n 邊界條件 兩位的時候,有兩種情況,所以dp 1 補充知識 class solution public int translatenum int num string ...

劍指 Offer 46 把數字翻譯成字串

劍指 offer 46.把數字翻譯成字串 給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。輸入 12258 輸出 5 解釋 12258有5種不同的...