# [70\. Climbing Stairs](https://leetcode.com/problems/climbing-stairs/) :::spoiler Solution - DP ```cpp class Solution { public: int climbStairs(int n) { if(n < 2) return n; vector<int> dp(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]; } }; ``` - T: $O(N)$ - S: $O(N)$ ::: :::spoiler Solution - DP improved ```cpp= class Solution { public: int climbStairs(int n) { int first = 1, second = 1; for(int i = 2; i <= n; i++) { int temp = first; first = first + second; second = temp; } return first; } }; ``` - T: $O(N)$ - S: $O(1)$ :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up