DP
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public int climbStairs(int n) { int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1;
for (int i = 2; i <= n; i++) { dp[i] = dp[i - 1] + dp[i - 2]; }
return dp[n]; } }
|
DP
1 2 3 4 5 6 7 8 9 10 11 12 13
| class Solution { public int climbStairs(int n) { int a = 1, b = 1;
for (int i = 2; i <= n; i++) { int c = a + b; a = b; b = c; }
return b; } }
|
References
70. Climbing Stairs
剑指 Offer 10- II. 青蛙跳台阶问题