题解 | #打家劫舍(一)#
打家劫舍(一)
http://www.nowcoder.com/practice/c5fbf7325fbd4c0ea3d0c3ea6bc6cc79
动态规划,优化了空间
class Solution:
def rob(self , nums: List[int]) -> int:
# write code here
n=len(nums)
if n==1:
return nums[0]
if n==2:
return max(nums[0],nums[1])
first=nums[0]
second=max(nums[0],nums[1])
for i in range(2,n):
first,second=second,max(second,first+nums[i])
return second