zoukankan      html  css  js  c++  java
  • 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
    我的前方是万里征途,星辰大海!!
  • 相关阅读:
    poj2492A Bug's Life
    poj2912Rochambeau
    poj1062昂贵的聘礼
    poj3169Layout(差分约束)
    poj2240Arbitrage
    poj1502MPI Maelstrom
    poj3259Wormholes
    1/8=1/a+1/b,a,b为自然数
    目录查找
    待删除未删除 问题解决
  • 原文地址:https://www.cnblogs.com/taoyuxin/p/11685440.html
Copyright © 2011-2022 走看看