70. Climbing Stairs
Problem
https://leetcode.com/problems/climbing-stairs/
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
Solution
Fibonacci
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
if (n <= 0) { return 0 }
if (n <= 2) { return n }
let fib1 = 1
let fib2 = 2
for (let i = 3; i <= n; i += 1) {
let t = fib2
fib2 = fib1 + fib2
fib1 = t
}
return fib2
};