添加链接描述
题目翻译:
- 选择一个nums[i]时,nums[i-1]和nums[i+1]就不能选
- 找出这个数组中最大的和
思路:
- dp[i]:在打劫到第i家时,能获取的最大金额
- dp[i]=max(dp[i-1]+nums,dp[i])
class Solution:def rob(self, nums: List[int]) -> int:dp=[0]*(len(nums)+1)dp[1]=nums[0]for i in range(2,len(nums)+1):dp[i]=max(dp[i-2]+nums[i-1],dp[i-1])print(dp)return dp[-1]