Junior Detailed answer Dynamic Programming DSA & Coding Interviews

How do you approach Climbing Stairs and House Robber?

Short answer: Climbing Stairs: ways(n) = ways(n-1) + ways(n-2) — Fibonacci DP. House Robber: dp[i] = max(dp[i-1], dp[i-2] + nums[i]) — cannot rob adjacent houses. Both reduce to O(1) space with two rolling variables.

Complexity

Time O(n), Space O(1) optimized.

Common follow-ups

  • House Robber II (circular)
  • Climbing stairs with 1..k steps
  • Decode Ways
Always define the recurrence in words before writing code.
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details