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
};

results matching ""

    No results matching ""