1D Dynamic Programming · Easy

Climbing Stairs

O(N) · O(1)

Step 1: Setup & Initialization - Climbing Stairs

DP Transition: dp[i] = dp[i-1] + dp[i-2].

Array Elements & Pointers
10
[0]
20
[1]
30
[2]
40
[3]
50
[4]
Live Variables & Invariants
status:Initialized
pattern:Climbing Stairs
Step 1 / 3
33%
Solution Code
1
function climbStairs(n: number): number {
2
  if (n <= 2) return n;
3
  let a = 1, b = 2;
4
  for (let i = 3; i <= n; i++) { const c = a + b; a = b; b = c; }
5
  return b;
6
}
LeetCode IDE Console

Test Cases

4 cases from Blind 75 & NeetCode 150

Ask for a hint whenever you get stuck.