当前位置: 首页> 汽车> 维修 > 【代码随想录|贪心算法 455. 分发饼干 376. 摆动序列 53. 最大子数组和】

【代码随想录|贪心算法 455. 分发饼干 376. 摆动序列 53. 最大子数组和】

时间:2025/8/26 15:24:29来源:https://blog.csdn.net/daisyholly/article/details/140408389 浏览次数: 1次

代码随想录|贪心算法 455. 分发饼干

  • 一、455. 分发饼干
    • 1.代码
    • 2.问题
  • 二、376. 摆动序列
    • 1.代码
  • 三、53. 最大子数组和
    • 1.代码
  • 总结


python

一、455. 分发饼干

455. 分发饼干

1.代码

代码如下(示例):

class Solution:def findContentChildren(self,g,s):g.sort()s.sort()result=0index=len(s)-1for i in range(len(g)-1,-1,-1):if index >=0 and g[i]<=s[index]:result=result+1index=index-1return resultif __name__=="__main__":g=list(map(int,input().strip().split(",")))s=list(map(int,input().strip().split(",")))solution=Solution()result=solution.findContentChildren(g,s)print(result)

2.问题

没return结果
没排序
经典str转列表输入,list map int strip split

二、376. 摆动序列

376. 摆动序列

1.代码

代码如下(示例):

class Solution:def wiggleMaxLength(self,nums):if len(nums)<=1:return  len(nums)up=down=1 #记录上升和下降摆动序列的最大长度for i in range(1,len(nums)):if nums[i] > nums[i-1]:up=down+1elif nums[i]<nums[i-1]:down=up+1return max(up,down)if __name__=="__main__":nums=list(map(int,input().strip().split(',')))solution=Solution()result=solution.wiggleMaxLength(nums)print(result)

代码随想录上分析了一堆特殊情况,结果发现优化的代码用一个max就解决了,不想着删除,而是直接计算最少的一对波峰波谷

三、53. 最大子数组和

53. 最大子数组和

1.代码

代码如下(示例):

class Solution:def maxSubArray(self,nums):result=float('-inf')count=0for i in range(0,len(nums)):count +=nums[i]if count> result:result = countif cunt<=0:count=0return resultif __name__=="__main__":nums=list(map(int, input().strip().split(",")))solution=Solution()result=solution.maxSubArray(nums)print(result)

这题的思路我自己想的差不多,但是测试都一部分负数集不通过,最后的问题是result的初始化我不应该设置为0,应该设置未负无穷

总结

输入输出

关键字:【代码随想录|贪心算法 455. 分发饼干 376. 摆动序列 53. 最大子数组和】

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: