1D Dynamic Programming/Easy

Climbing StairsFREE TRACK

Time: O(N)Space: 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 / 333%
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
}

Custom Test Case Runner

Input your custom values and visualize step-by-step trace

Quick Presets:

AI DSA Coach

Contextual Tutor for Climbing Stairs

Hello! I am your AI DSA Tutor for **Climbing Stairs** (1D Dynamic Programming). Ask me anything about this algorithm, time complexity, or request a step hint!