收废品做网站,山西+网站建设,外贸seo网站制作,策划文案的网站思路#xff1a;既然头尾不能同时取#xff0c;那就分别算只取头或者只取尾#xff0c;不考虑特殊情况的话是一个简单的动态规划
class Solution:def rob(self, nums: list[int]) - int:if len(nums) 3:return max(nums)max_sum [nums[0], max(nums[1], nums[0])…
思路既然头尾不能同时取那就分别算只取头或者只取尾不考虑特殊情况的话是一个简单的动态规划
class Solution:def rob(self, nums: list[int]) - int:if len(nums) 3:return max(nums)max_sum [nums[0], max(nums[1], nums[0])]for i in range(2, len(nums)-1):max_sum.append(max(max_sum[i - 2] nums[i], max_sum[i - 1]))sum1max_sum[-1]nums.pop(0)max_sum [nums[0], max(nums[1], nums[0])]for i in range(2, len(nums)):max_sum.append(max(max_sum[i - 2] nums[i], max_sum[i - 1]))sum2max_sum[-1]print(sum1,sum2)return max(sum1,sum2)