![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
代码之贪心
氤鑎麕菕氲
C++,JAVA
展开
-
贪心之划分字母区间
本题对字符串划分区间,同一个字母只能出现在一个区间内。3.遍历更新right为right和当前字母的最大位置。2.left和right统计左右边界的位置。4.区间分割点为i == right。1.首先统计每个字母出现的最远位置。原创 2023-03-31 10:47:18 · 38 阅读 · 0 评论 -
代码之用最少数量的箭引爆气球
4.重叠了当此时的(后一个)弓箭的右边界更新为前一个和后一个的右边界的最小值。不重叠则需要多一个弓箭来射。3.循环,如果后一个弓箭的左边界大于前一个弓箭的右边界证明二者不重叠,相反是小于等于,重叠。2.起始的弓箭数为1,因为第一个气球需要1个弓箭。本题目本质是找到重叠的区间。1.按区间左边界进行排序。原创 2023-03-31 00:00:45 · 80 阅读 · 0 评论 -
代码之根据身高重建队列
本题有2个维度,一个是身高,一个是排在前面的人数,与分发糖果一样有2个维度,只能是先固定一个维度再去考虑另一个维度,不能两个同时考虑。2.遍历people数组,得到每一个people元素的k值people[i][1]3.将每一个people元素插入到que数组中。1.按身高从大到小,k值从小到大排序。原创 2023-03-30 23:07:53 · 70 阅读 · 0 评论 -
贪心之柠檬水找零
2.走循环,遇到10就找零5,没有5直接失败。贪心体现在遇到20优先找零10和5,没有10再找3个5,其他情况失败。1.定义3个变量分别统计5,10,20的钞票数。3.走完循环返回成功。原创 2023-03-30 21:54:06 · 42 阅读 · 0 评论