贪心
Serendipity_筱楠
当你的才华还撑不起你的野心的时,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来历练。
展开
-
贪心法—LeetCode 452 用最少数量的箭引爆气球
用最少数量的箭引爆气球题目:在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足 xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以原创 2020-07-11 22:26:57 · 179 阅读 · 0 评论 -
贪心法—— LeetCode45 跳跃游戏II(跳跃游戏进阶版)
跳跃游戏II题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组的最后一个位置。分析思路:最少的跳跃次数==最合适的跳跃从首元素开始跳,要让它能够跳到最远的位置i原创 2020-07-10 22:28:49 · 235 阅读 · 0 评论 -
贪心法——LeetCode 55 跳跃游戏
跳跃游戏题目:给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位置。但该位置的最大跳跃长度是 0 , 所以你永远不可能到达最后一个位置。原创 2020-07-09 22:14:21 · 237 阅读 · 0 评论 -
贪心法——LeetCode 402 移除K个数字
移除K个数字题目:给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移除掉三个数字 4, 3, 和 2 形成一个新的最小的数字 1219。示例 2 :输入: num = “10200”, k = 1输出: “200”解释: 移掉首位的 1 剩下的数字为 200. 注意输出原创 2020-07-08 22:35:13 · 421 阅读 · 0 评论 -
贪心法——LeetCode376 摆动序列
贪心法题目:摆动序列如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。给定一个整数序列,返回作为摆动序列的最长子序列的长度。 通过从原始序列中删除一原创 2020-07-08 21:27:30 · 212 阅读 · 0 评论 -
贪心法——LeetCode Assign Cookies分饼干
贪心法遵循某种规律,不断贪心的选取当前最优策略的算法设计方法题目:LeedCode 455.Assign Cookies假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。你可以假设胃口值为原创 2020-07-07 21:47:38 · 219 阅读 · 0 评论 -
poj1700快速渡河问题(贪心策略,详细解析)
二、快速渡河问题翻译为中文一队人(N个人)期望跨河,有一条船,一次只能载2个人,过河之后需要有一个人划回来,所有人才能够跨河,每个人划船速度都不同,两个人一组整体速度是由划船速度较慢的决定的。问题:确定一种策略用最少的时间所有人都能过河。输入:方案数:T(1<=T<=20)人数:N<1000速度:<100s输出:最少的时间样例:输入:141 2 ...原创 2020-04-14 19:34:00 · 1748 阅读 · 3 评论 -
硬币支付问题(贪心策略)
一、什么是贪心策略呢?贪心算法是一种递推算法,用局部最优解来推导全局最优解,是对遍历解空间的一种优化当问题具有最优子结构时,可用动态规划,而贪心是动态规划的一种特例特点:只看眼前遵循某种规则,不断(贪心)选取当前最优策略,最终找到最优解。难点:当前最优解未必是整体最优。二、题目:硬币问题有1元,5元,10元,50元,100元,500元的硬币各c1,c5,c10,c50,c1...原创 2020-04-14 17:34:05 · 1182 阅读 · 2 评论