House Robber II
题目描述
This time, all houses at this place are arranged in a circle.
解题方法
连成圈也就是说明第一间和最后一件不能同时抢,一开始想如何在转换方程里体现出来,并没有什么思路。 后来看了别人的Blog,其实就将它们分成不包含第一间和不包含最后一间的两个array就可以了。
Solution
class Solution(object):
def rob(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if not nums:
return 0
if len(nums) == 1:
return nums[0]
return max(self.rob1(nums[:-1]), self.rob1(nums[1:]))