You are a robber planning to rob houses arranged in a circle. Each house has a non-negative amount of money. You cannot rob two adjacent houses; the alarm will trigger. Because the houses are in a circle, the first and last house are also adjacent.
Given an integer array nums where nums[i] is the amount at house i, return the maximum amount you can rob tonight without alerting the police.
Input: nums = [2, 3, 2] Output: 3 Explanation: Rob only house 1 (value 3). Robbing house 0 and 2 is illegal because they are adjacent in the circle.
Input: nums = [1, 2, 3, 1] Output: 4 Explanation: Rob house 0 (value 1) and house 2 (value 3) for a total of 4.
nums = [2, 3, 2]