Approach Summary
Houses form a circle so first and last are adjacent. Run House Robber on [0..n-2] and [1..n-1], return the max.
How to Recognize This Pattern
- Circular arrangement means first and last conflict
- Run linear House Robber twice on overlapping ranges
Complexity Analysis
Time Complexity
O(n)
Space Complexity
O(1)
Tags
Array Dynamic Programming