![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
贪心算法
weixin_51320895
这个作者很懒,什么都没留下…
展开
-
leetcode 452 用最少数量的箭引爆气球 贪心算法
一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭的最小数量。输入:points = [[10,16],[2,8],[1,6],[7,12]]输出:2解释:对于该样例,x = 6 可以射爆 [2,8],[1,6] 两个气球,以及 x = 1..原创 2021-09-10 11:16:04 · 93 阅读 · 0 评论 -
leetcode 55跳跃游戏 贪心算法
给定一个非负整数数组nums,你最初位于数组的第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。题解:不用纠结于每次跳几步,比如说当前元素是3,那么究竟是跳一步,两步,还是三步呢?其实跳几步无所谓,关键在于可跳的覆盖范围,每次取最大跳跃步数,得到跳跃的可覆盖范围。...原创 2021-09-08 20:44:36 · 67 阅读 · 0 评论 -
leetcode 135 分发糖果 贪心算法+两次遍历
老师想给孩子们分发糖果,有 N个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。你需要按照以下要求,帮助老师给这些孩子分发糖果:每个孩子至少分配到 1 个糖果。评分更高的孩子必须比他两侧的邻位孩子获得更多的糖果。那么这样下来,老师至少需要准备多少颗糖果呢?例子:输入:[1,2,2]输出:4解释:你可以分别给这三个孩子分发 1、2、1 颗糖果。 第三个孩子只得到 1 颗糖果,这已满足上述两个条件。分析:先确定孩子的一边是按照规则分发的,然后再确定孩子的另.原创 2021-09-08 17:09:15 · 148 阅读 · 0 评论 -
leetcode 714买卖股票的最佳时机含手续费 贪心算法
给定一个整数数组prices,其中第i个元素代表了第i天的股票价格。整数fee代表了交易股票的手续费用。可以无限次的完成交易,但是每笔交易都需要付手续费。如果你已经购买一个股票,在卖出它之前你就不能再继续购买了。返回获得利润的最大值。输入:prices = [1, 3, 2, 8, 4, 9], fee = 2输出:8解释:能够达到的最大利润: 在此处买入prices[0] = 1在此处卖出 prices[3] = 8在此处买入 prices[4] = 4在此处卖出 prices[5..原创 2021-09-07 21:27:33 · 86 阅读 · 0 评论 -
leetcode 柠檬水找零 860 (贪心算法)
在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。注意,一开始你手头没有任何零钱。给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回true,否则返回 false。输入:bills = [5,5,5,10,20]输出:...原创 2021-09-05 12:10:05 · 54 阅读 · 0 评论 -
leetcode k次取反后最大化的数组和1005(贪心算法)
给定一个整数数组 A,我们只能用以下方法修改该数组:我们选择某个索引 i并将 A[i] 替换为 -A[i],然后总共重复这个过程 K 次。(我们可以多次选择同一个索引 i)以这种方式修改数组后,返回数组可能的最大和。例子:输入:A = [2,-3,-1,5,-4], K = 2输出:13解释:选择索引 (1, 4) ,然后 A 变为 [2,3,-1,5,4]。思路:1.按照数组的绝对值大小进行排序。2.从前先后遍历,遇到负数将其变为正数,同时k--3.如果k值还大于0,那么反复转变.原创 2021-09-04 21:27:28 · 65 阅读 · 0 评论 -
leetcode455题 分发饼干 (贪心算法)
题目:假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j]。如果 s[j]>= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。输入: g = [1,2,3], s = [1,1]输出: 1解释:你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,...原创 2021-09-04 15:38:37 · 181 阅读 · 0 评论