LeetCode 91 Decode Ways

LeetCode 91 Decode Ways

A message containing letters from A-Z is being encoded to numbers using the following mapping:
'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的題目目木,一開(kāi)始按照回溯的思路,每次判斷當(dāng)前index的個(gè)位數(shù)與index,index+1對(duì)應(yīng)的兩位數(shù),查看兩種情況是否滿足decode要求,即個(gè)位數(shù)在1-9之間,兩位數(shù)在1-26之間腊状。寫(xiě)完了以后LTE了。。姑宽。

寫(xiě)了1個(gè)半小時(shí)才改對(duì)dp的版本。闺阱。炮车。真是無(wú)語(yǔ)了。酣溃。瘦穆。
注意初始條件:

  1. 當(dāng)長(zhǎng)度小于什么時(shí),應(yīng)該直接返回赊豌?
  2. 應(yīng)該初始化dp[0]和dp[1]嗎扛或?分別初始化成什么?
  3. 寫(xiě)出遞推公式
    這里有一個(gè)誤區(qū)碘饼,真正的判斷條件應(yīng)該是:
    個(gè)位數(shù)在1-9之間熙兔,兩位數(shù)在10-26之間!E擅痢黔姜!

代碼:

public class Solution {
    public int numDecodings(String s) {
        int n = s.length();
        if (n <= 0) return 0;
        int[] dp = new int[n + 1];
        dp[0] = 1;
        dp[1] = (s.charAt(0) == '0') ? 0 : 1;
        
        for (int i = 2; i <= n; i++) {
            int first = Integer.valueOf(s.substring(i-1,i));
            int second = Integer.valueOf(s.substring(i-2,i));
            
            if (first >= 1 && first <= 9) 
                dp[i] += dp[i-1];
            if (second >= 10 && second <= 26)
                dp[i] += dp[i-2];
        }
        
        return dp[n];
    }
    
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蒂萎,隨后出現(xiàn)的幾起案子秆吵,更是在濱河造成了極大的恐慌,老刑警劉巖五慈,帶你破解...
    沈念sama閱讀 216,744評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件纳寂,死亡現(xiàn)場(chǎng)離奇詭異主穗,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)毙芜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門忽媒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人腋粥,你說(shuō)我怎么就攤上這事晦雨。” “怎么了隘冲?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,105評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵闹瞧,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我展辞,道長(zhǎng)奥邮,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,242評(píng)論 1 292
  • 正文 為了忘掉前任罗珍,我火速辦了婚禮洽腺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘覆旱。我一直安慰自己蘸朋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,269評(píng)論 6 389
  • 文/花漫 我一把揭開(kāi)白布通殃。 她就那樣靜靜地躺著度液,像睡著了一般。 火紅的嫁衣襯著肌膚如雪画舌。 梳的紋絲不亂的頭發(fā)上堕担,一...
    開(kāi)封第一講書(shū)人閱讀 51,215評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音曲聂,去河邊找鬼霹购。 笑死,一個(gè)胖子當(dāng)著我的面吹牛朋腋,可吹牛的內(nèi)容都是我干的齐疙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,096評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼旭咽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼贞奋!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起穷绵,我...
    開(kāi)封第一講書(shū)人閱讀 38,939評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤轿塔,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體勾缭,經(jīng)...
    沈念sama閱讀 45,354評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡揍障,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,573評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俩由。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片毒嫡。...
    茶點(diǎn)故事閱讀 39,745評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖幻梯,靈堂內(nèi)的尸體忽然破棺而出兜畸,到底是詐尸還是另有隱情,我是刑警寧澤碘梢,帶...
    沈念sama閱讀 35,448評(píng)論 5 344
  • 正文 年R本政府宣布膳叨,位于F島的核電站,受9級(jí)特大地震影響痘系,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜饿自,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,048評(píng)論 3 327
  • 文/蒙蒙 一汰翠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧昭雌,春花似錦复唤、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,683評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至总放,卻和暖如春呈宇,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背局雄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,838評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工甥啄, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炬搭。 一個(gè)月前我還...
    沈念sama閱讀 47,776評(píng)論 2 369
  • 正文 我出身青樓蜈漓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親宫盔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子融虽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,652評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容