leetcode 70 爬楼梯 JavaScript
思路:
分两种,一种是数学思路,利用斐波那契数列公式直接算出具体不多介绍;
第二种,找规律,可以发现1是1 2是2 3是3 4是5…仔细观察可以发现,当前的数等于前两个的数相加(1+2=3 2+3=5,也就是后面5是3+5=8…),得递推公式a[n]=a[n-1]+a[n-2],n>2
代码如下:
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
if(n<=2) return n;
let a = [];
a[0] = 1;
a[1] = 1;
for(let i = 2;i<=n;i++){
a[i] = a[i-1] + a[i-2];
}
return a[n];
};