Explain non-adjacent max sum.
01
01
Understand the problem
dp
02
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Stuck? AI Nudge Available
Get a conceptual hint to guide your logic without spoiling the final implementation.
03
03
Study the solution
The solution is waiting
Give it an honest attempt first — then compare your thinking with the full walkthrough.
04
04
Read the code
Rolling two-variable DP
Run Playgrounddef rob(nums):
prev, curr = 0, 0 # best up to i-2, best up to i-1
for x in nums:
prev, curr = curr, max(curr, prev + x)
return curr
# --- demo ---
print(rob([2, 7, 9, 3, 1])) # 12 (2 + 9 + 1)
print(rob([1, 2, 3, 1])) # 4 (1 + 3)05
05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.