class Solution(object):
def rob(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
if len(nums) == 0:
return 0
elif len(nums) == 1:
return nums[0]
elif len(nums) == 2:
return max(nums[-1], nums[-2])
else:
res = []
res.append(0)
res.append(0)
for x in nums:
old=res[-1]
new=max(res[-2]+x,res[-1])
res.append(old)
res.append(new)
# print res
return res[-1]
print Solution().rob([2, 1, 1, 2])