Rob houses in circle

Write codeMedium25 min

Your task

Houses are arranged in a circle; house i holds nums[i] coins. You cannot rob two adjacent houses (and house 0 is adjacent to house n-1). You must rob at least one house. Return the maximum coins you can collect. 1 <= n <= 2000, 0 <= nums[i] <= 10^4.

Examples

rob_circle(nums: list[int]) -> int
Example 1
Inputrob_circle([2, 3, 2])
Output3