leetcode贪心算法小结

贪心算法主要思想:保证局部最优解,总结果最优

问题类型一 分配问题
T455.Assign Cookies(Easy)

贪心策略:饥饿度最小的孩子最容易吃饱,所以我们按照孩子的饥饿度sort,把大于或者等于这个孩子饥饿度的,且大小最小的饼干给这个孩子。之后取剩下孩子中饥饿度最小的孩子,直到没有满足条件的饼干存在。

T135 Candy(Hard)

贪心策略:确保一个评分高的孩子拿到的糖果比左右两个孩子都多,我们分别从左到右、从右到左进行遍历。第一遍遍历右边的孩子评分低于左边的话,左边孩子的糖果为右边孩子糖果数+1,第二遍遍历取自己个儿糖果数和左边孩子糖果数中的最大值。要注意边界值。

问题类型二 区间问题
T435 Non-overlapping Intervals (Medium)
T605 Can Place Flowers (Easy)
T452 Minimum Number of Arrows to Burst Balloons (Medium)

以上三题的本质均为边界覆盖问题,根据实际情况大小按照左、右边界排序后将不同区间边界进行比较。

T.763 Partition Labels (Medium)

记录每个字母最开始出现的位置以及最后一次出现的位置,可以降低题目难度。

T.122 Best Time to Buy and Sell Stock Ⅱ (Medium)
T.406 Queue Reconstruction by Height (Medium)
T.665 Non-decreasing Array (Easy)

涉及到数组增长、减小趋势的贪心问题,可以在出现增减趋势的位置作文章。

学习项目:

https://github.com/changgyhub/leetcode_101/blob/master/LeetCode%20101%20-%20A%20LeetCode%20Grinding%20Guide%20(C%2B%2B%20Version).pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值