![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心
anieoo
这个作者很懒,什么都没留下…
展开
-
871. 最低加油次数
原题链接:871. 最低加油次数 solution: 本题考察优先队列+贪心。题目的意思是相当于在行驶的过程中把途径的汽油全部携带在身上,如果汽车无法抵达下一个加油站则把汽油最多的那个油桶加上,最后统计加油的次数。...原创 2022-07-02 09:53:04 · 127 阅读 · 0 评论 -
452. 用最少数量的箭引爆气球
原题链接:452. 用最少数量的箭引爆气球 solution: 贪心策略:将所有区间按右端点从小到大进行排序,每次选择区间的右端点进行射击。原创 2022-06-10 14:22:28 · 102 阅读 · 0 评论 -
135. 分发糖果
原题链接:135. 分发糖果 solution: 贪心:局部最优得到全局最优① 给每个孩子一个唐国② 从左到右进行贪心,如果右边的孩子评分比左边高,就多给一个糖果③ 从右到左进行贪心,如果左边的孩子评分比右边高,并且糖果数量小于等于右边,就多给一个糖果④ 求和...原创 2022-06-09 14:02:21 · 98 阅读 · 1 评论 -
860. 柠檬水找零
原题链接:860. 柠檬水找零 solution: 贪心策略:店家找零钱的时候有先使用面值较大的.原创 2022-06-09 13:53:19 · 55 阅读 · 0 评论 -
455. 分发饼干
原题了解:455. 分发饼干 solution: 贪心思想:优先用尺寸小的饼干将胃口小的孩子喂饱原创 2022-06-07 16:57:32 · 56 阅读 · 0 评论 -
332. 重新安排行程
原题链接:332. 重新安排行程solution:有向图欧拉路径:欧拉路径:经过每一条边一次,但是不要求回到起始点。判断欧拉路径是否存在的方法1.有向图 : 图连通,当且仅当该图所有顶点数的度数为0,或者一个顶点的度数为1,另一个顶点的度数为-1,其他顶点的度数为0.2.无向图:图连通,当且仅当该图所有顶点的度数为偶数,或者除了两个度数为奇数外其余的全是偶数。本题已经说明,一定有一条合法路径因此不需要判定是否有合法路径。下面以一张图表明什么是欧拉路径。 该图的遍历顺序是:A-B-C-B-D-B原创 2022-06-06 23:44:43 · 94 阅读 · 0 评论 -
621. 任务调度器
原题链接:621. 任务调度器solution:贪心:统计出每个字母的出现次数,然后把出现次数的大于 0 的次数放入大根堆中。堆中最多有 26 个元素。贪心策略如下:我们按 n + 1 个时间一组来安排任务,重复次数多的任务优先安排。每次从堆中最多取出前 n + 1 个元素,然后这些元素减 1,如果元素仍然大于 0,则放回堆中。每组的时间为 n + 1,如果这是最后一组(即没有再往堆中放回),则这一组的时间为取出的元素个数。class Solutio...原创 2022-05-19 15:53:00 · 102 阅读 · 0 评论 -
942. 增减字符串匹配
原题链接:942. 增减字符串匹配solution: 贪心问题,如果是s[0] == 'I',他后面一位的数字只能比它大 如果s[0]=='D',它后面一位的数字只能比它小class Solution {public: vector<int> diStringMatch(string s) { vector<int> res; //定义返回值 int ...原创 2022-05-09 09:26:12 · 94 阅读 · 0 评论 -
406. 根据身高重建队列
原题链接:406. 根据身高重建队列solution: 贪心思路:身高高的人只会看到比他高的人,所以当身高高的人固定好了位置,前面插入多少个矮的人都不会破坏高的人的条件限制。所以应该先决定高的人的位置,再决定矮的人的位置;高的人限制条件少,矮的人限制条件多。①先按身高从大到小排序,身高一样则按照k排序:身高大或k小意味着限制条件少,应该被优先考虑。②依次插入元素:由上一点,先进入res的元素不会被后进入的元素影响,因此每一次插入只需要考虑自己不需要考虑别人。当遍历到元素[a,b]的时候.原创 2022-05-04 20:56:18 · 211 阅读 · 0 评论 -
55. 跳跃游戏
原题链接:55. 跳跃游戏solution: 贪心思想① 如果能从x跳到y的位置,则x,x+1,x+2.....y-1,都能跳到y的位置。(容易证明)② 如果从前i - 1个位置能跳的最远位置小于i,表示从前i-1个位置跳不到第i个位置class Solution {public: bool canJump(vector<int>& nums) { int n = nums.size(); for(int i = 0,la.原创 2022-04-26 10:47:22 · 2306 阅读 · 0 评论