代码随想录训练营第27天 || 455. 分发饼干 376. 摆动序列 53. 最大子数组和

一个车载HUD的设计参考 阅读详情

455. 分发饼干:

讲解:代码随想录

思想:

局部最优,把最大的饼干给胃口最大的孩子,因为目的是满足最多的孩子,最大的饼干可以满足胃口大的孩子,也可以满足胃口小的孩子,但是小的饼干只能满足胃口小的孩子

代码:

class Solution:
    def findContentChildren(self, g: List[int], s: List[int]) -> int:
        g.sort()
        s.sort()
        index = len(s)-1
        result = 0
        for i in range(len(g)-1,-1,-1):#range(len(g)-1, -1, -1) 中的 -1:是 range 函数的参数,用于定义序列的结束值和步长。
列表索引中的 -1:用于访问列表的最后一个元素。
            if index>= 0 and s[index] >=g[i]:
                result+=1
                index-=1
        return result

遇到的问题:

1.对于先遍历谁的问题,只能是饼干去匹配小孩的胃口,

376. 摆动序列:

讲解:代码随想录

思想:

局部最优:删除单调坡度上的节点(不包括单调坡度两端的节点),那么这个坡度就可以有两个局部峰值。

整体最优:整个序列有最多的局部峰值,从而达到最长摆动序列。

代码:

class Solution:
    def wiggleMaxLength(self, nums: List[int]) -> int:
        result = 1#默认为1,是因为如果数组的长度大于2,不会计算最后末尾的,但是末尾的一定符合条件
        if len(nums)<=1:
            return len(nums)
        prediff = 0
        curdiff = 0

        for i in range(len(nums)-1):
            curdiff = nums[i+1]-nums[i]
            if (prediff<=0 and curdiff>0) or (prediff>=0 and curdiff <0):#第一种情况是高峰,第二种情况是低谷
                result+=1
                prediff=curdiff
        return result
            

            

遇到的问题:

1.对于特殊情况的理解,对于只有两个元素的情况,为了符合大于两个元素的判断情况,让result默认为1,

53. 最大子数组和:

讲解:代码随想录

思想:

贪心贪的是当数组的和为负数时就重新开始记录连续的子数组,不用担心之前记录的最大子数组和会丢失,因为已经提前记录了

代码:

class Solution:
    def maxSubArray(self, nums: List[int]) -> int:
        result = float('-inf')
        count =0
        for i in range(len(nums)):
            count+=nums[i]
            if result<count:
                result = count
            if count<=0:
                count = 0
        return result
            

遇到的问题:

1.对于第二个将count重置为0时,会影响result:但是观察发现在判断result和count的关系前,count就已经加上了数组内的数,所以不用担心数组内全是负数的情况

基于 STM32 的智能水表流量计设计与实现 —— 数据采集与远程传输 本文设计的基于 STM32 的智能水表流量计通过霍尔传感器实现流量采集,结合 STM32 的处理能力完成数据计算、存储与远程传输,具备计量精准、功耗低、可远程监控等特点。未来可优化方向:引入低功耗模式延长电池寿命,增加水质检测模块实现多参数监测,提升水务管理智能化水平。 阅读详情

相关推荐

从零构建FOC:手把手教你实现无刷电机磁场定向控制

本文是一份详尽的FOC(磁场定向控制)实战教程,指导开发者从零开始构建无刷电机驱动系统。文章深入解析了FOC的核心算法,包括坐标变换(Clarke/Park)、SVPWM调制和双环PI控制,并对比了有感与无感方案的实现差异。通过分步调试指南,帮助读者亲手实现稳定、高效的无刷电机控制,彻底掌握其底层原理。

h3i4j的博客 514

代码随想录算法训练营第二十六天 |455.分发饼干 376. 摆动序列 53. 最大子序和

例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。针对以上情形,result 初始为 1(默认最右面有一个峰值),此时 curDiff > 0 && preDiff <= 0,那么 result++(计算了左面的峰值),最后得到的 result 就是 2(峰值个数为 2 即摆动序列长度为 2)

qq_46651958的博客 1707

Java实战:绿盾加密文件批量解密工具Ldterm的实现与优化

本文详细介绍了基于Java开发的绿盾加密文件批量解密工具Ldterm的实现与优化过程。通过分析绿盾加密机制,结合Java流处理能力,实现了高效的文件解密方案,并分享了多线程处理、内存优化等性能提升技巧,适用于企业级数据迁移与备份场景。

weixin_29314405的博客 492

代码随想录算法训练营Day31 | 455.分发饼干、376.摆动序列、53.最大子数组和

训练营第31天:455.分发饼干、376.摆动序列、53.最大子数组和

jiabao0520的博客 1347

SQL Server 内存占用高分析及解决办法(超详细)

如果想让 Sql Server 主动释放 占用并空闲的内存空间,可以设置Sql Server占用内存的上限,就会让Sql server在。如执行存储过程,自定函数时,SQL Server 需要先二进制编译再运行,编译后的结果也会缓存起来,再次调用时就无需再次编译。才会释放一点占用的内存,所以很多时候,我们会发现运行SQL Server的系统内存往往居高不下这些内存一般都。缓存,以便于再次请求此页的数据的时候,直接从内存返回,就无需读取磁盘了,大大提高了速度。最后文章有啥不对,欢迎大佬在评论区指点!

2301_79080944的博客 3952

基于Xilinx_IBERT的光纤接口眼图测试

基于Xilinx_IBERT的光纤接口眼图测试

Coca_Tian的博客 1万+

代码随想录算法训练营第27天|455. 分发饼干、376. 摆动序列、53. 最大子数组和

尽量用大饼干来喂大胃口的孩子,如果遍历思路不清晰,可以拿例子试一下,就知道什么时候该+1了。

郭小儒的博客 799

SAP SD实战:用BADI_SLS_HEAD_SCR_CUS给销售订单VA01/VA02加自定义字段(附完整函数组代码)

本文详细解析了在SAP SD模块中如何利用BADI_SLS_HEAD_SCR_CUS实现销售订单(VA01/VA02)的屏幕增强,包括数据结构设计、函数组创建和BADI接口实现。通过实战案例和完整代码,帮助开发者掌握在SAPMV45A标准流程中添加自定义字段的关键技术,提升业务定制化能力。

weixin_27015733的博客 369

代码随想录算法训练营第27天 贪心算法 part01| 题目:理论基础 、455.分发饼干 、376. 摆动序列 、53. 最大子序和

首先声明,长度为2的序列如果不等输出2,大于2时对序列做前后差值并记录,记录的然后对记录的数组进行前后位置相乘,并判断结果,如果<0,则count从初始值1,count+1,直到>=0,此时将count记录并置1,直到所有的遍历所有的数组,比较最大记录的count值,若都<2则输出2,否则输出最大值。并且每块饼干 j,都有一个尺寸 s[j]。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。

weixin_51303606的博客 823

网络设备调试指南:如何用MDIO Clause22/45协议读写Marvell MV88E6390寄存器

本文深入解析了如何通过MDIO Clause 22/45协议对Marvell MV88E6390交换芯片进行寄存器读写调试。文章详细对比了两种协议的本质区别与适用场景,并重点阐述了MV88E6390的直接与间接寻址策略,提供了实战代码示例与关键调试技巧,帮助网络工程师高效解决配置与通信问题。

tequila的博客 518

告别夜间噪点!用瑞芯微RV1126B的AI-ISP,手把手教你打造0.01Lux超低光摄像头

本文详细介绍了如何利用瑞芯微RV1126B芯片的AI-ISP技术,打造0.01Lux超低光摄像头,解决夜间噪点问题。通过AI算法与图像信号处理的深度融合,RV1126B的3TOPS边缘算力实现了像素级AI降噪和语义感知增强,显著提升低光环境下的图像质量。文章包含硬件选型、软件配置和实战调优指南,助力开发者在AIoT领域实现高性能视觉应用。

weixin_33725722的博客 565

代码随想录训练营Day22 | 455.分发饼干 - 376. 摆动序列 - 53. 最大子数组和

【代码】代码随想录训练营Day21 | 455.分发饼干 - 376. 摆动序列 - 53. 最大子数组和。

Zuoriqiufeng的博客 729

8、内存交织技术详解

本文详细解析了内存交织技术的基本原理、工作机制及实现方式,探讨了其在提升内存访问速度和系统性能中的关键作用。文章还分析了内存交织的优缺点、实际应用场景以及与其他优化技术的结合应用,并提出了未来发展的可能方向,为理解与运用该技术提供了全面参考。

g9h0i1的博客 551

代码随想录算法训练营第27天 | LeetCode455.分发饼干、LeetCode376.摆动序列、LeetCode53.最大子数组和

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。思路:这里的分发饼干用到了贪心算法思想。涉及到贪心,那就需要先搞明白,。

m0_68237332的博客 1269

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

代码随想录算法训练营第31天| Leetcode 455.分发饼干、376. 摆动序列、53. 最大子数组和

子序列可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。局部最优:当前“连续和”为负数的时候立刻放弃,从下一个元素重新计算“连续和”,因为负数加上下一个元素 “连续和”只会越来越小。,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。给你一个整数数组 nums ,返回 nums 中作为 摆动序列 的 最长子序列的长度。这道题我第一反应是利用动态规划解决,因为根据摆动序列定义可以知道,摆动序列的数字是。为了满足更多的小孩,就不要造成饼干尺寸的浪费。

Camellia__Wang的博客 1220

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

代码随想录算法训练营day27

今天是算法营的第27天,希望自己能够坚持下来!今日任务:● 贪心算法理论基础● 455.分发饼干● 376. 摆动序列● 53. 最大子序和今天第一天的贪心算法,代码其实都不难,难的是思路,需要多积累一些解题思路才行。明天继续加油!

qq_38365428的博客 992

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

代码随想录算法训练营第31天| 455.分发饼干、376. 摆动序列、53. 最大子序和

题目描述:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。

Intro_Nitro的博客 854

代码随想录算法训练营第二十七天|贪心算法理论基础,455.分发饼干,376. 摆动序列,53. 最大子序和

例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

weixin_47748259的博客 1079

代码随想录-算法训练营day31(贪心算法01:分发饼干,摆动序列,最大子数组和)

贪心算法01,感觉确实没什么套路可言

weixin_61931006的博客 1390

代码随想录算法训练营第三十一天| 455. 分发饼干、376. 摆动序列、53. 最大子数组和

假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。1你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。2。

1072

代码随想录训练营打卡第27天|455.分发饼干 376.摆动序列 53.最大子数组和

今天贪心两道没做出来,一道没用贪心,人麻了。局部最优,全局最优这个思路还得练练。今天做题不在状态啊。摇摆数组哪个我感觉能用dp但没想明白dp过程怎么搞,到是一看题解那个图就明白贪心的思路了,不过对于端点的处理还是要好好考虑考虑。mark一下,今天得好好再看看。

qq_73823477的博客 757

代码随想录算法训练营第31天 | 贪心理论基础 + 455.分发饼干 + 376.摆动序列 + 53.最大子序和

情况一:上下坡中有平坡情况二:数组首尾两端情况三:单调坡中有平坡第三道考研中使用过动态规划算法求解,贪心算法求解也了解过,比较熟悉。

weixin_52443257的博客 1222

二刷代码随想录算法训练营第三十一天 | 455.分发饼干 376. 摆动序列 53. 最大子序和

并且每块饼干 j,都有一个尺寸 s[j]。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。

magic2142028406的博客 998

代码随想录算法训练营第三十三天| 455.分发饼干 376.摆动序列 53.最大子序和

文档的方式是直接从前往后遍历一遍数组,使用一个变量来累加数组元素,这个变量一开始初始化为零,在循环遍历数组元素的时候,只要这个累加的变量小于零就强制把这个变量改为零,因为负数没有必要再参与后续的累加了,因为负数只会让累加的总数变小,不符合局部最优,直接改回零继续参与后续累加,把这个变量每次变化的最大值用一个变量记录下来,最后返回这个变量既可。这道题目是文档给出的贪心入门题,通过练习可以初步的了解到贪心的基本思路过程,贪心没有模板,所以需要知道题目的局部最优和全局最优是什么才能使用贪心。

2301_80196447的博客 835

代码随想录算法训练营第二十七天 | 455. 分发饼干、376. 摆动序列、53. 最大子数组和

文档讲解:https://programmercarl.com/0053.%E6%9C%80%E5%A4%A7%E5%AD%90%E5%BA%8F%E5%92%8C.html。文档讲解:https://programmercarl.com/0455.%E5%88%86%E5%8F%91%E9%A5%BC%E5%B9%B2.html。文档讲解:https://programmercarl.com/0376.%E6%91%86%E5%8A%A8%E5%BA%8F%E5%88%97.html。

m0_45175414的博客 840

【代码随想录训练营第42期 Day27打卡 贪心Part1 - LeetCode 455.分发饼干 376. 摆动序列 53. 最大子序和

贪心

记得要努力变强 1407
上一篇: 代码随想录训练营第25天 || 491. 非递减子序列 46. 全排列 47. 全排列 II
下一篇: 代码随想录训练营28天 || 122. 买卖股票的最佳时机 II 55. 跳跃游戏 45. 跳跃游戏 II 1005. K 次取反后最大化的数组和
dkingf
博客等级 码龄2年 127粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值