Comment on page

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