贪心
卑微小杨
这个作者很懒,什么都没留下…
展开
-
leetcode452,435,56
class Solution: def findMinArrowShots(self, points: List[List[int]]) -> int: if len(points)==0: return 0 points.sort(key=lambda x:x[0])#和根据身高还有分发糖果一个类型,先按照第一个元素排序。 res=1#最少也需要一次才可以全部引爆。 for i in range(1,l.原创 2021-06-21 19:16:55 · 91 阅读 · 0 评论 -
leetcode860
class Solution: def lemonadeChange(self, bills: List[int]) -> bool: if bills[0]==10 or bills[0]==20: return False cnt5=0 cnt10=0 cnt20=0 for i in range(len(bills)): if bills[i]==5: .原创 2021-06-21 17:30:34 · 52 阅读 · 0 评论 -
leetcode135(双向贪心)406
class Solution: def candy(self, ratings: List[int]) -> int: n=len(ratings) candyval=[1]*n for i in range(1,n): if ratings[i]>ratings[i-1]: candyval[i]=candyval[i-1]+1 for i in range(n-2.原创 2021-06-21 16:33:39 · 99 阅读 · 0 评论 -
leetcode134
class Solution: def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int: if sum(gas)<sum(cost): return -1 index=0 res=0 for i in range(len(gas)): res+=gas[i]-cost[i] .原创 2021-06-21 16:13:04 · 59 阅读 · 0 评论 -
leetcode1005
class Solution: def largestSumAfterKNegations(self, nums: List[int], k: int) -> int: nums=sorted(nums,key=abs,reverse=True)#一定要按绝对值大小排序。且是降序,方便处理k>负数个数的情况。 for i in range(len(nums)): if k>0 and nums[i]<=0:#当k>0且遇到的.原创 2021-06-21 15:47:05 · 63 阅读 · 0 评论 -
leetcode55,45
class Solution: def canJump(self, nums: List[int]) -> bool: if len(nums)==1:#只有一个是可以到达的。 return True cover=0 i=0 while i<=cover:#因为cover是动态变化的,for不支持,所以改用while cover=max(i+nums[i],cover) .原创 2021-06-21 15:44:09 · 54 阅读 · 0 评论 -
leetcode122,714**
class Solution: def maxProfit(self, prices: List[int]) -> int: res=0 for i in range(len(prices)-1): earn=prices[i+1]-prices[i] if earn>0: res+=earn return res '''贪心在,我们只需要把整个时间拆.原创 2021-06-21 11:36:43 · 63 阅读 · 0 评论 -
leetcode53
class Solution: def maxSubArray(self, nums: List[int]) -> int: if len(nums)==1: return nums[0] count=0 res=-2**32 for i in range(len(nums)): count+=nums[i] # 如果当前统计结果比我们之前记录的最大值res.原创 2021-06-21 11:22:59 · 50 阅读 · 0 评论 -
leetcode276
class Solution: def wiggleMaxLength(self, nums: List[int]) -> int: if len(nums)<=1: return len(nums) curdif=0 predif=0 res=1 for i in range(len(nums)-1): curdif=nums[i+1]-nums[i] .原创 2021-06-21 11:05:19 · 95 阅读 · 0 评论 -
leetcode455
class Solution: def findContentChildren(self, g: List[int], s: List[int]) -> int: #排序 g=sorted(g) s=sorted(s) res=0#记录最后的数 if not s : return 0 index=len(s)-1#从后往前遍历 for i in range(.原创 2021-06-21 10:53:35 · 45 阅读 · 0 评论