← Recursion & DP

Micro-Drill #163 — House Robber

Recursion & DP Target: 10s

At each house: rob it (prev2 + current) or skip it (prev1). Classic two-variable DP.

def rob(nums):
    if not nums: return 0
    if len(nums) == 1: return nums[0]
    prev2, prev1 = 0, 0
    for x in nums:
        prev2, prev1 = prev1, max(prev1, prev2 + x)
    return prev1

Type it from memory. Go.

Practice Problems

Related Coding Drills

← Micro #162 Micro #164 →