leetcode

Description:

leetcode-198

Submission:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class :
def rob(self, nums: List[int]) -> int:
if (len(nums) == 0):
return 0
elif (len(nums) == 1):
return nums[0]
elif (len(nums) == 2):
return max(nums)
else:
res = [0] * len(nums)
res[0] = nums[0]
res[1] = max(nums[:2])
for i in range(2, len(nums)):

# 选择利用较大的结果。
res[i] = max(nums[i] + res[i-2], res[i-1])
return res[-1]

Acceptance:

ac