代码随想录|Day31|贪心算法 part01|● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和

  455.分发饼干

class Solution:

    def findContentChildren(self, g: List[int], s: List[int]) -> int:

        # if not g or not s:  可以没有这句,因为后面index>=0已经涵盖了

        #     return 0

        g.sort()

        s.sort()

        result = 0

        index = len(s) - 1

        for i in range(len(g)-1, -1, -1):

            if index >= 0 and s[index] >= g[i]:  

                result += 1

                index -= 1

        return result

【思考】  加上index>=0不只是为了防止g或s为空,还为了防止饼干<人数则会越界:如g=[3],会出现g[-2]的情况,就是错误了!

可以按胃口分发饼干,从大到小;也可以按饼干发给胃口,从小到大。

376. 摆动序列

class Solution:

    def wiggleMaxLength(self, nums: List[int]) -> int:

        if len(nums) <= 1:

           return len(nums)  

        len_pre = 0

        result = 1

        for i in range(len(nums)-1):

            len_cur = nums[i+1] - nums[i]    #i只能走到倒数第一个数,不然nums[i+1]就越界啦

            if len_pre <= 0 and len_cur > 0 or len_pre >= 0 and len_cur < 0:

                result += 1

                len_pre = len_cur

        return result

 53. 最大子序和 

class Solution:

    def maxProfit(self, prices: List[int]) -> int:

        result = 0

        for i in range(len(prices) - 1):

            count = prices[i+1] - prices[i]

            if count > 0:

                result += count

        return result

方法二:

class Solution:

    def maxProfit(self, prices: List[int]) -> int:

        result = 0

        for i in range(len(prices) - 1):

            count = max(prices[i+1] - prices[i], 0)    #这样写也很好

            result += count   

        return result

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 11:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 11:48:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 11:48:03       82 阅读
  4. Python语言-面向对象

    2024-04-08 11:48:03       91 阅读

热门阅读

  1. IJKPLAYER源码分析-AudioTrack播放

    2024-04-08 11:48:03       36 阅读
  2. MongoDB聚合运算符:$minN

    2024-04-08 11:48:03       39 阅读
  3. SqlServer 全文索引

    2024-04-08 11:48:03       34 阅读
  4. HTML:HTML事件汇总

    2024-04-08 11:48:03       35 阅读
  5. Linux Shell:用户配置文件详解

    2024-04-08 11:48:03       36 阅读
  6. MySQL:表的约束(上)

    2024-04-08 11:48:03       33 阅读
  7. 【软设】知识点速记2

    2024-04-08 11:48:03       35 阅读
  8. ffmpeg处理视频命令

    2024-04-08 11:48:03       28 阅读