leetcode——213. 打家劫舍 II
作者:互联网
不偷第一家的最大利润p1
不偷最后一家的最大利润是p2
输出p1,p2的最大值
class Solution: def rob(self, nums) -> int: if len(nums)==0: return 0 if len(nums)<2: return nums[0] if len(nums)==2: return max(nums) else: res={} res[0]=nums[0] res[1]=max(nums[:2]) for i in range(2,len(nums)): res[i]=max(res[i-2]+nums[i],res[i-1]) nums1=nums[1:] res1={} res1[0]=nums1[0] res1[1]=max(nums1[:2]) for i in range(2,len(nums1)): res1[i]=max(res1[i-2]+nums1[i],res1[i-1]) return max(res[len(nums)-2],res1[len(nums1)-1])执行用时 :48 ms, 在所有 python3 提交中击败了74.29%的用户 内存消耗 :13.8 MB, 在所有 python3 提交中击败了5.39%的用户 ——2019.10.16
标签:p2,p1,213,nums,len,II,不偷,leetcode,python3 来源: https://www.cnblogs.com/taoyuxin/p/11685440.html