70. Climbing Stairs

Easy

You are climbing a staircase. It takes n steps to reach the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

Example 1:

Input: n = 2
Output:
 2
Explanation:
 There are two ways to climb to the top.
1. 1 step + 1 step
2. 2 steps

Example 2:

Input: n = 3
Output:
 3
Explanation:
 There are three ways to climb to the top.
1. 1 step + 1 step + 1 step
2. 1 step + 2 steps
3. 2 steps + 1 step

Constraints:

  • 1 <= n <= 45

解題

用 DP 來解

func climbStairs(n int) int {
    arr := []int{1, 2, 3}

    for i := 3; i < n; i++ {
        arr = append(arr, arr[i - 1] + arr[i - 2])
    }
    return arr[n - 1]
}

Last updated