分割整數構成字母字串(動態規劃)
題目:一條包含字母 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"(2
26) 。
演算法思想:
建立乙個陣列,dp 長度為 n + 1 ;
如果字串為空,或者字串首字母為 『0』 那麼返回 0 ;無法編碼;
初始化dp=[0,…,0],長度為n+1,dp[0]=1,dp[1]=1,dp[1]=1表示第一位的解碼方法,dp[0]的作用,在於兩位時,如:「12」,dp[2]=dp[1]+dp[0]。
遍歷s,遍歷區間[1,n):
public
intnumdecodings
(string s)
int[
] dp =
newint
[len +1]
; dp[0]
=1; dp[1]
=1;for
(int i =
1; i < len; i++
)else
}else
else}}
return dp[len]
;}
總結:每道演算法題都應該想清楚思路,再開始寫**,不然邏輯混亂,就是在瞎想。 mysql分割字串 mysql分割字串
專案有通過一批id去過濾結果的需求,因為這個id是從其他平台拉下來的excel,為了避免加引號逗號的麻煩,在mysql儲存過程裡面拼接。在此做個記錄。很多地方用得上。1.通過某個字元,分割字串的函式。輸入分別為f string 待分割字串 f delimiter 分割字元 f order 取的字串的...
分割字串
string.split char 返回包含此例項中的子字串 由指定 char 陣列的元素分隔 的 string 陣列。由 net compact framework 支援。string.split char,int32 返回包含此例項中的子字串 由指定 char 陣列的元素分隔 的 string ...
分割字串
最近手裡的活用到分割字串,自己嘗試寫了乙個,在網上找到幾個,留著以後備用。char steps char token char strusbinfo 512 memcpy strusbinfo,1e 2f 3g strlen 1e 2f 3g token strtok strusbinfo,step...