代码随想录算法训练营第二十七天-455分发饼干、376摆动序列、53最大子序和
-
前言
状态:455AC、376、53 都需要看解析,感觉贪心上来都是一点思路都没有,可能题做的不够多。 -
更新
1 | 24-06-13 初始记录 |
初步题解
455 分发饼干
题目链接:(https://leetcode.cn/problems/assign-cookies)
属于小饼干优先。
1 | public static void main(String[] args) { |
376 摆动序列
题目链接:(https://leetcode.cn/problems/wiggle-subsequence)
没有思路。看了一点点解析,画图。把坡删了。(但是又忽略了单调坡的情况,具体题解在看解析部分)
1 | public int wiggleMaxLength(int[] nums) { |
53 最大子序和
题目链接:(https://leetcode.cn/problems/maximum-subarray)
没有思路。看了部分解析,说是连续和如果出现负数,直接抛弃,从下一个数开始。
1 | // 思路是连续和为负,就直接抛弃连续和 |
看解析
455 分发饼干
解析:(https://programmercarl.com/0455.分发饼干.html)
有两种思路,大饼干优先满足胃口大的;小饼干优先满足胃口小的。
376 摆动序列
解析:(https://programmercarl.com/0376.摆动序列.html)
思路:
-
怎样算有峰值
(preDiff >= 0 && curDiff < 0) || (preDiff <= 0 && curDiff > 0)
-
数组首怎么计数:默认加上一个平节点,即 preDiff 为 0
-
单调坡度有平坡:只在坡度进行更新的时候,才把前一个坡值进行记录
1 | public int wiggleMaxLength(int[] nums) { |
还有一个偷懒版本是先去重,再找坡。但是要循环两次,时间复杂度变高。
53 最大子序和
评论
评论插件加载失败
正在加载评论插件