House Robber
House Robber I (LC.198)
Example
Input: [3, 8, 1, 2, 5, 6]
Return: 8 + 2 + 6 = 16Analysis
Approach
1. define optimal subproblems by prefix
rob(n) = max amount of money at house n
2. solve by prefix, 2 optionas, rob nth house or skip it
rob(n) = Math.max(rob(n-1), rob(n-2) + money[n]);
3. topo order
for i from 2 to n
4. init base cases
rob(0) = 0
rob(1) = money[0]
5. answer
return rob(n)Code
Updated Code
Time & Space Complexity
House Robber II (LC.213)
Approach
Last updated