贪心
文章平均质量分 58
柠石榴
毕业三年从 0 开始学习编程语言
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【练习】【贪心】力扣738. 单调递增的数字
当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增。比较,如果前一个元素大于该元素则将前一个元素。思路就是从后往前遍历,将遍历到的元素。实际写代码中,用一个。输入: n = 1234。输入: n = 332。输入: n = 10。与该元素的前一个元素。原创 2025-03-03 11:05:31 · 486 阅读 · 0 评论 -
【练习】【贪心】力扣763. 划分字母区间
我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。[“abab”, “cc”],但类似 [“aba”, “bcc”] 或 [“ab”, “ab”, “cc”] 的划分是非法的。然后遍历字符串时,将右端点更新为当前遍历到的字母的最远位置,当。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是 s。输入:s = “ababcbacadefegdehijhklij”返回一个表示每个字符串片段的长度的列表。时,说明遍历出了一个符合条件的字符串,将。输出:[9,7,8]原创 2025-03-03 09:59:18 · 475 阅读 · 0 评论 -
【练习】【贪心】力扣435. 无重叠区间
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi]。例如 [1, 2] 和 [2, 3] 是不重叠的。输入: intervals = [[1,2],[2,3],[3,4],[1,3]]输入: intervals = [ [1,2], [1,2], [1,2] ]输入: intervals = [ [1,2], [2,3] ]解释: 你需要移除两个 [1,2] 来使剩下的区间没有重叠。解释: 移除 [1,3] 后,剩下的区间没有重叠。原创 2025-03-03 09:14:17 · 326 阅读 · 0 评论 -
【练习】【贪心】力扣452. 用最少数量的箭引爆气球
墙面上的气球记录在整数数组 points ,其中points[i] = [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。输入:points = [[10,16],[2,8],[1,6],[7,12]]输入:points = [[1,2],[3,4],[5,6],[7,8]]输入:points = [[1,2],[2,3],[3,4],[4,5]]在x = 2处发射箭,击破气球[1,2]和[2,3]。在x = 4处射出箭,击破气球[3,4]和[4,5]。原创 2025-03-01 20:25:39 · 531 阅读 · 0 评论 -
【练习】【贪心】力扣406. 根据身高重建队列
每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。输入:people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]]输入:people = [[6,0],[5,0],[4,0],[3,2],[2,2],[1,4]]输出:[[5,0],[7,0],[5,2],[6,1],[4,4],[7,1]]输出:[[4,0],[5,0],[2,2],[3,2],[1,4],[6,0]]原创 2025-03-01 16:26:36 · 447 阅读 · 0 评论 -
【练习】【贪心】力扣860. 柠檬水找零
给你一个整数数组 bills ,其中 bills[i] 是第 i 位顾客付的账。如果你能给每位顾客正确找零,返回 true ,否则返回 false。每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。在柠檬水摊上,每一杯柠檬水的售价为 5 美元。这里贪心是20找零,有10先找10,因为5可以找10也可以找20.输入:bills = [5,5,10,10,20]输入:bills = [5,5,5,10,20]原创 2025-03-01 11:28:34 · 267 阅读 · 0 评论 -
【练习】【贪心】力扣134. 加油站
给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。输入: gas = [2,3,4], cost = [3,4,3]原创 2025-03-01 11:24:52 · 418 阅读 · 0 评论 -
【练习】【贪心】力扣1005. K 次取反后最大化的数组和
解释:选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。解释:选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]。选择某个下标 i 并将 nums[i] 替换为 -nums[i]。输入:nums = [2,-3,-1,5,-4], k = 2。解释:选择下标 1 ,nums 变为 [4,-2,3]。输入:nums = [3,-1,0,2], k = 3。以这种方式修改数组后,返回数组 可能的最大和。输入:nums = [4,2,3], k = 1。原创 2025-02-28 16:56:42 · 469 阅读 · 0 评论 -
【练习】【贪心】力扣45. 跳跃游戏 II
每个元素 nums[i] 表示从索引 i 向后跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n。返回到达 nums[n - 1] 的最小跳跃次数。生成的测试用例可以到达 nums[n - 1]。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。输入: nums = [2,3,1,1,4]输入: nums = [2,3,0,1,4]原创 2025-02-28 16:26:57 · 404 阅读 · 0 评论 -
【练习】【贪心】力扣55. 跳跃游戏
思路一:逆向找位置,从最后一个位置laststep往前遍历,如果判定的位置加上当前位置的元素可以到达laststep。给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。解释:无论怎样,总会到达下标为 3 的位置。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]原创 2025-02-28 11:21:51 · 447 阅读 · 0 评论 -
【练习】【贪心】力扣122. 买卖股票的最佳时机 II
解释:在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。解释:在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 =4。输入:prices = [7,1,5,3,6,4]返回 你能获得的 最大 利润。原创 2025-02-26 15:57:56 · 279 阅读 · 0 评论 -
【练习】【贪心】力扣376. 摆动序列
相反,[1, 4, 7, 2, 5] 和 [1, 7, 4, 5, 5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为它的最后一个差值为零。其中一个是 [1, 17, 10, 13, 10, 16, 8] ,各元素之间的差值为 (16, -7, 3, -3, 6, -8)。例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替出现的。输入:nums = [1,17,5,10,13,15,10,5,16,8]原创 2025-02-26 11:18:28 · 646 阅读 · 0 评论 -
【练习】【贪心】力扣455. 分发饼干
对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;如果 s[j] = g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。解释: 你有三个孩子和两块小饼干,3 个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是 1,你只能让胃口值是 1 的孩子满足。所以你应该输出 1。你有两个孩子和三块小饼干,2 个孩子的胃口值分别是 1,2。输入: g = [1,2,3], s = [1,1]输入: g = [1,2], s = [1,2,3]原创 2025-02-25 21:06:55 · 361 阅读 · 0 评论
分享