內(nèi)容
假設(shè)你正在爬樓梯。需要 n 步你才能到達(dá)樓頂。
每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是一個正整數(shù)。
示例 1:
輸入: 2
輸出: 2
解釋: 有兩種方法可以爬到樓頂。
- 1 步 + 1 步
- 2 步
示例 2:
輸入: 3
輸出: 3
解釋: 有三種方法可以爬到樓頂。
- 1 步 + 1 步 + 1 步
- 1 步 + 2 步
- 2 步 + 1 步
思路
這題,無語,發(fā)現(xiàn)規(guī)律后才知道是個斐波那契數(shù)列
代碼
/**
這題,無語,發(fā)現(xiàn)規(guī)律后才知道是個斐波那契數(shù)列
* @param {number} n
* @return {number}
*/
var climbStairs = function (n) {
if (n == 1) {
return 1;
}
if (n == 2) {
return 2;
}
var a = 1,
b = 2;
for (var i = 3; i <= n; i++) {
var temp = a + b;
a = b;
b = temp;
}
return b;
};