Same as House Robber, but houses are in a circle. First and last houses are adjacent. Can't rob both.
Solution: run House Robber twice — once on nums[1:] (skip first), once on nums[:-1] (skip last). Take the max.
💡 Pro tip: Understand this problem deeply — don't just memorize the code. Try explaining the approach out loud as if teaching a friend. If you can explain it simply, you truly understand it!
rob([2, 3, 2])
3
rob([1, 2, 3, 1])
4