public class Solution { public int climbStairs(int A) { int[] dp = new int[A + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= A; i ++) { dp[i] = dp[i - 2] + dp[i - 1]; } return dp[A]; } }
Solution 2:
Time: O(n) Space: O(1)
public class Solution { public int climbStairs(int A) { int prevPrev = 1; int prev = 1; for (int i = 2; i <= A; i ++) { int oldPrev = prev; prev = prev + prevPrev; prevPrev = oldPrev; } return prev; } }