面試題46 把數字翻譯成字串

2021-10-04 22:24:29 字數 868 閱讀 5244

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

示例 1:

輸入: 12258

輸出: 5

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

方法:動態規劃

這是一道典型的動態規劃題目。對於乙個數 num[i],我們可以用 dp(i) 表示前i個數字的翻譯方法數,有兩種選擇:

以上兩種情況相加即可。

面試題46 把數字翻譯成字串

給定乙個數字,我們按照如下規則把它翻譯為字串 0翻譯成 a 1翻譯成 b 25翻譯成 z 乙個數字可能有多種翻譯。例如,12258有5種不同的翻譯,分別是 bccfi bwfi bczi mcfi mzi 求乙個數字有多少種不同的翻譯方法?解題思路 上 c 香 法一 回溯法,很easyint cou...

Java 面試題46 把數字翻譯成字串

給定乙個數字,按照如下規則翻譯成字串 0翻譯成 a 1翻譯成 b 25翻譯成 z 乙個數字有多種翻譯可能,例如12258一共有5種,分別是bccfi,bwfi,bczi,mcfi,mzi。實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。分析思路 用遞迴自頂向下分析,用動態規劃自低向上求解 定義...

面試題46 把陣列翻譯成字串

題目描述 給定乙個數字,我們按照如下規則把它翻譯成字串 0翻譯成 a 1翻譯成 b 25翻譯成 z 乙個數字可能有多個翻譯,例如,12258有5種不同的翻譯,分別是 bccfi bwfi bczi mcfi mzi 請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。動態規劃 舉例來分析...