问题描述
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 2 3 4 5
| Input: n = 2 Output: 2 Explanation: There are two ways to climb to the top. 1. 1 step + 1 step 2. 2 steps
|
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
const climbStairs1 = function (n) { let res = 1 let pre = 1 let preOfPre = 1
for (let i = 2; i <= n; i++) { res = pre + preOfPre preOfPre = pre pre = res } return res }
|