遞歸法——爬樓梯(簡單)

題目

假設(shè)你正在爬樓梯布隔。需要 n 階你才能到達(dá)樓頂离陶。

每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢衅檀?

注意:給定 n 是一個正整數(shù)招刨。

示例 1:

輸入: 2
輸出: 2
解釋: 有兩種方法可以爬到樓頂。
1.  1 階 + 1 階
2.  2 階

示例 2:

輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂哀军。
1.  1 階 + 1 階 + 1 階
2.  1 階 + 2 階
3.  2 階 + 1 階

解題思路

這一題一開始我竟然考慮排列組合沉眶,由于數(shù)學(xué)丟了一些年打却,導(dǎo)致我又去翻公式,折騰了半天谎倔,還是一籌莫展柳击。
然后看了一下提示,說是考慮之前的步數(shù)片习,才恍然大悟可用遞歸捌肴。

因為,如果當(dāng)已經(jīng)爬了n層了藕咏,用了m種方法状知,如果只能在這個現(xiàn)狀的基礎(chǔ)上,再走一步孽查,那么饥悴,此時只有m種可能性,即只能走一步盲再;

那是不是說西设,爬n + 1層,就有2m種可能性呢答朋?
并不是這樣贷揽,因為上面說的情況是,走了n層以后現(xiàn)狀梦碗,即上一步不能改變了擒滑,但是,當(dāng)爬了n-1層的時候叉弦,如果后面還有2層可以走,那么除了爬1階以外藻糖,還可以有2階這個選項淹冰。
那么,假設(shè)爬n-1層的時候巨柒,有o種可能性了樱拴,然后下一步爬2階,即可到n+1洋满。

因此晶乔,爬n+1層的可能性是 m + o
也就是說:
f(n+1) =f(n-1) + f(n)

此外,不能寫單純的遞歸式牺勾,會導(dǎo)致大量的重復(fù)計算正罢,這里用一個字典來儲存計算結(jié)果,可減少計算次數(shù)驻民。

答案

class Solution(object):
    def __init__(self):
        self.n_dict = {}
        
    def climbStairs(self, n):
        """
        :type n: int
        :rtype: int
        """
        if n in self.n_dict:
            return self.n_dict[n]
        if n == 1:
            return 1
        if n == 2:
            return 2
        result = self.climbStairs(n - 2) + self.climbStairs(n - 1)
        self.n_dict[n] = result
        
        return result
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末翻具,一起剝皮案震驚了整個濱河市履怯,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌裆泳,老刑警劉巖叹洲,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異工禾,居然都是意外死亡运提,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門闻葵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來民泵,“玉大人,你說我怎么就攤上這事笙隙『榈疲” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵竟痰,是天一觀的道長签钩。 經(jīng)常有香客問我,道長坏快,這世上最難降的妖魔是什么铅檩? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮莽鸿,結(jié)果婚禮上昧旨,老公的妹妹穿的比我還像新娘。我一直安慰自己祥得,他們只是感情好兔沃,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著级及,像睡著了一般乒疏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上饮焦,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天怕吴,我揣著相機與錄音,去河邊找鬼县踢。 笑死转绷,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的硼啤。 我是一名探鬼主播议经,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了爸业?” 一聲冷哼從身側(cè)響起其骄,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎扯旷,沒想到半個月后拯爽,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡钧忽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年毯炮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片耸黑。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡桃煎,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出大刊,到底是詐尸還是另有隱情为迈,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布缺菌,位于F島的核電站葫辐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏伴郁。R本人自食惡果不足惜耿战,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望焊傅。 院中可真熱鬧剂陡,春花似錦、人聲如沸狐胎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽握巢。三九已至纤泵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間镜粤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工玻褪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肉渴,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓带射,卻偏偏與公主長得像同规,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

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