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?
1 2 3 4 5 6 7 8 9 10 11 |
func climbStairs(_ n: Int) -> Int { if n < 4 { return n } var arr = Array(repeating: 1, count: n+1) arr[2] = 2; arr[3] = 3 for i in (4...n) { arr[i] = arr[i-1] + arr[i-2] } return arr[n] } |
❤ 点击这里 -> 订阅《PAT | 蓝桥 | LeetCode学习路径 & 刷题经验》by 柳婼