- 【代码随想录Day27】贪心算法Part01
理论基础题目链接/文章讲解:代码随想录视频讲解:贪心算法理论基础!_哔哩哔哩_bilibili455.分发饼干题目链接/文章讲解:代码随想录视频讲解:贪心算法,你想先喂哪个小孩?|LeetCode:455.分发饼干_哔哩哔哩_bilibili一开始使用了双重循环,时间复杂度为......
- Day 23 贪心算法part01| LeetCode 455.分发饼干,376.摆动序列,53.最大子序和
455.分发饼干455.分发饼干classSolution{publicintfindContentChildren(int[]g,int[]s){Arrays.sort(g);Arrays.sort(s);intindex=s.length-1;intcount=0;for(inti=g.le......
- leetcode刷题day27|贪心算法Part01(455.分发饼干、376. 摆动序列、53. 最大子序和)
前言:贪心的本质选择每一阶段的局部最优,从而达到全局最优。455.分发饼干思路:局部最优-大饼干喂给胃口大的,充分利用饼干尺寸喂饱一个;全局最优:喂饱尽可能多的小孩。可以尝试使用贪心策略,先将饼干数组和小孩数组排序,然后从后向前遍历小孩数组,用大饼干优先满足胃口大的,并统计......
- 算法学习每日一题之2332. 坐上公交的最晚时间:二分答案 & 贪心双指针
Problem:2332.坐上公交的最晚时间人话题意:你是一个懒惰的人,虽然你要赶公交车,但你想多睡会,恰好你知道每辆车的发车时间buses和每辆车容capacity,和每个乘客乘车的时间passenger,旨在求可以赶上公交车的最晚出发时间。思路一:二分答案求最晚能满足赶上公交的时间,可以发现......
- 贪心算法-找不重叠的区间段
1.说明有N个区间片段,查找其中不重叠的片段最大个数。例如(68),(24),(35),(15),(59),(810)这6个片段中,不重叠的片段最大个数为3,分别为(24),(68),(810)。2.解析先按照起始位置从小到大进行排序,使用贪心算法使有效片段尽可能小,即结束位置更靠前。当前片段如果属于上个有效片段的子段,......
- Supermarket(贪心)
#include<bits/stdc++.h>usingnamespacestd;#definexfirst#defineysecondtypedeflonglongll;typedefpair<int,int>PII;voidsolve(){intn;while(cin>>n){vector<PII>a(n);for(inti=0;i<n;+......
- 贪心算法(算法详解+模板+例题)
1.贪心是什么贪心算法(GreedyAlgorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好的策略。虽然这种策略并不保证一定能得到全局最优解,但在许多情况下,它能提供近似最优解,而且计算效率高。贪心算法通常适用于那些具有“最优......
- 算法入门-贪心1
第八部分:贪心409.最长回文串(简单)给定一个包含大写字母和小写字母的字符串s,返回通过这些字母构造成的最长的回文串的长度。在构造过程中,请注意区分大小写。比如"Aa"不能当做一个回文字符串。示例1:输入:s="abccccdd"输出:7解释:我们可以构造的最长的回文串是"......
- dfs与贪心算法——洛谷5194
问题描述:有n个砝码,将砝码从大到小排列,从第三个砝码开始,所有砝码均大于其前两个砝码之和,问怎样的砝码组合才可以组合出不大于c的最大重量,输出该重量输入:第一行输入两个个整数N,c,代表有N个砝码,第二行输入N个砝码的质量输出:不大于c的最大重量题目分析:要找到不大于c的最大重量,要......
- 「数组」堆排序 / 大根堆优化(C++)
目录概述核心概念:堆堆结构数组存堆思路算法过程up()down()Code优化方案大根堆优化Code(pro)复杂度总结概述在「数组」快速排序/随机值优化|小区间插入优化(C++)中,我们介绍了三种基本排序中的冒泡排序与分治思想结合的算法:快速排序。本文我们来讲第二种基本排......