青蛙跳台阶底层逻辑
本质上青蛙跳台阶就是个斐波那契数列问题
按照公式用代码照抄型解法:
var climbStairs = function(n) {
const sqrt_5 = Math.sqrt(5);
const fib_n = Math.pow((1 + sqrt_5) / 2, n + 1) - Math.pow((1 - sqrt_5) / 2,n + 1);
return Math.round(fib_n / sqrt_5);
};
按照数组方法好理解版本:
var climbStairs = function(n) {
let arr = []
let arr[0] = 1
let arr[1] = 1
for (let i=2; i<n.length; i++) {
arr[i]=arr[i-1]+arr[i-2]
}
return arr[n]
};