給定乙個數字,我們按照如下規則把它翻譯為字串:
0翻譯成」a」,1翻譯成」b」,……,11翻譯成」l」,……,25翻譯成」z」。
乙個數字可能有多個翻譯。例如12258有5種不同的翻譯,它們分別是」bccfi」、」bwfi」、」bczi」、」mcfi」和」mzi」。
請程式設計實現乙個函式用來計算乙個數字有多少種不同的翻譯方法。
樣例
輸入:"12258"
輸出:5
dfs
class solution
dfs(s,0,
"");return hash.
size()
;}void
dfs(string s,
int pos, string str)
if(pos > s.
size()
)return
;int cur = s[pos]
-'0'
, next = cur;
if(pos < s.
size()
-1) next =
(next *10)
+(s[pos +1]
-'0');
dfs(s, pos +
1, str + map1[cur]);
if(next >=
10&& next <=25)
dfs(s, pos +
2, str + map1[next]);
}};
dp
class solution
}return dp[s.
size()
];}}
;
劍指 Offer把數字翻譯成字串
給定乙個數字,我們按照如下規則把它翻譯為字串 0 翻譯成 a 1 翻譯成 b 11 翻譯成 l 25 翻譯成 z 乙個數字可能有多個翻譯。請程式設計實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。示例 1 輸入 12258 輸出 5 解釋 12258有5種不同的翻譯,分別是 bccfi bwf...
劍指offer 把數字翻譯成字串(c
題目描述 給定乙個數字,按照如下規則翻譯成字串 0翻譯成 a 1翻譯成 b 25翻譯成 z 乙個數字有多種翻譯可能,例如12258一共有5種,分別是bccfi,bwfi,bczi,mcfi,mzi。實現乙個函式,用來計算乙個數字有多少種不同的翻譯方法。思路動態規劃,從最小的問題開始 f r 表示以r...
劍指 把數字翻譯成字串
1,題目 2,思路 動態規劃 dp i xi 屬於 10,25 dp i 1 10x xi 屬於 1,10 並上 25,99 方法一 字串遍歷 動態規劃 從左向右遍歷 方法二 字串遍歷 動態規劃 從左向右遍歷 此題的動態規劃計算是 對稱的 即 從左向右遍歷 從第 dp 2 計算至 dp n 和 從右...