爬樓梯問(wèn)題
假設(shè)你正在爬樓梯。需要 n 階你才能到達(dá)樓頂。
每次你可以爬 1 或 2 個(gè)臺(tái)階。你有多少種不同的方法可以爬到樓頂呢?
示例 1:
輸入:n = 2
輸出:2
解釋:有兩種方法可以爬到樓頂。
1. 1 階 + 1 階
2. 2 階
示例 2:
輸入:n = 3
輸出:3
解釋:有三種方法可以爬到樓頂。
1. 1 階 + 1 階 + 1 階
2. 1 階 + 2 階
3. 2 階 + 1 階
總體思路是遞歸的方法。dd[i] 為 第 i 階時(shí)的方案數(shù),
則是兩種到達(dá)當(dāng)前臺(tái)階的方案的總和.
因?yàn)榈?i 階 只能是從 他的 前一階 或 前一階的前一階而來(lái)的.
最后代碼如下
當(dāng)然這還不是最精簡(jiǎn)版.從代碼可以發(fā)現(xiàn),數(shù)組的元素都是一次性的??蓮?fù)用性很低。
因此,可以改為三個(gè)變量交替使用。
粘一個(gè)別人的代碼.