随笔分类 -  贪心

摘要:描述 给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 ;整数 fee 代表了交易股票的手续费用。 你可以无限次地完成交易,但是你每笔交易都需要付手续费。如果你已经购买了一个股票,在卖出它之前你就不能再继续购买股票了。 返回获得利润的最大值。 注意:这里的一笔交易指买入持 阅读全文
posted @ 2021-12-28 22:11 DidUStudy 阅读(33) 评论(0) 推荐(0)
摘要:描述 给定一个非负整数 N,找出小于或等于 N 的最大的整数,同时这个整数需要满足其各个位数上的数字是单调递增。 (当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。) 链接 738. 单调递增的数字 - 力扣(LeetCode) (leetcode-cn 阅读全文
posted @ 2021-12-28 21:30 DidUStudy 阅读(60) 评论(0) 推荐(0)
摘要:描述 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。 链接 56. 合并区间 - 力扣(LeetCode) (leetcode-cn 阅读全文
posted @ 2021-12-28 21:09 DidUStudy 阅读(35) 评论(0) 推荐(0)
摘要:描述 字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。 链接 763. 划分字母区间 - 力扣(LeetCode) (leetcode-cn.com) 解法:贪心 在遍历的过程中相当于是要找每一个字母的边界,如 阅读全文
posted @ 2021-12-28 20:41 DidUStudy 阅读(43) 评论(0) 推荐(0)
摘要:描述 给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 链接 435. 无重叠区间 - 力扣(LeetCode) (leetcode-cn.com) 解法一:贪心 阅读全文
posted @ 2021-12-28 20:16 DidUStudy 阅读(54) 评论(0) 推荐(0)
摘要:描述 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。 一支弓箭可以沿着 x 轴从不同点完全垂直地射出。在坐标 x 处射出一支箭,若有一个气球的直径的开 阅读全文
posted @ 2021-12-28 16:33 DidUStudy 阅读(35) 评论(0) 推荐(0)
摘要:描述 假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ,前面 正好 有 ki 个身高大于或等于 hi 的人。 请你重新构造并返回输入数组 people 所表示的队列。返回的 阅读全文
posted @ 2021-12-28 15:55 DidUStudy 阅读(21) 评论(0) 推荐(0)
摘要:描述 在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。 每位顾客只买一杯柠檬水,然后向你付 5 美元、10 美元或 20 美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付 5 美元。 注意,一开始你手头没有任何零钱。 阅读全文
posted @ 2021-12-28 15:02 DidUStudy 阅读(38) 评论(0) 推荐(0)
摘要:描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目 。 链接 135. 分发糖果 - 力扣( 阅读全文
posted @ 2021-12-28 11:42 DidUStudy 阅读(56) 评论(0) 推荐(0)
摘要:描述 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 阅读全文
posted @ 2021-12-27 23:24 DidUStudy 阅读(31) 评论(0) 推荐(0)
摘要:描述 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后,返回数组 可能的最大和 。 链接 1005. K 次取反后最大化的数组和 - 阅读全文
posted @ 2021-12-23 23:02 DidUStudy 阅读(35) 评论(0) 推荐(0)
摘要:描述 给你一个非负整数数组 nums ,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 你的目标是使用最少的跳跃次数到达数组的最后一个位置。 假设你总是可以到达数组的最后一个位置。 链接 45. 跳跃游戏 II - 力扣(LeetCode) (leetcode-cn 阅读全文
posted @ 2021-12-23 22:51 DidUStudy 阅读(45) 评论(0) 推荐(0)
摘要:描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 链接 55. 跳跃游戏 - 力扣(LeetCode) (leetcode-cn.com) 解法 贪心方法 这个问题就转化为跳跃覆盖范围究竟可 阅读全文
posted @ 2021-12-23 12:00 DidUStudy 阅读(38) 评论(0) 推荐(0)
摘要:描述 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 链接 122. 买卖股票的最佳时机 II 阅读全文
posted @ 2021-12-22 12:13 DidUStudy 阅读(21) 评论(0) 推荐(0)
摘要:描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 链接 53. 最大子数组和 - 力扣(LeetCode) (leetcode-cn.com) 解法 对于 贪心算法而言: 贪心贪的是哪里呢? 如果 -2 阅读全文
posted @ 2021-12-22 11:56 DidUStudy 阅读(54) 评论(0) 推荐(0)
摘要:描述 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为 摆动序列 。第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。 例如, [1, 7, 4, 9, 2, 5] 是一个 摆动序列 ,因为差值 (6, -3, 5, -7, 3) 是正负交替 阅读全文
posted @ 2021-12-22 11:24 DidUStudy 阅读(46) 评论(0) 推荐(0)
摘要:描述 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有一个尺寸 s[j] 。如果 s[j] >= g[i],我们可以将这个饼干 j 分配给孩子 i ,这个孩 阅读全文
posted @ 2021-12-21 22:33 DidUStudy 阅读(37) 评论(0) 推荐(0)
摘要:描述 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 链接 55. 跳跃游戏 - 力扣(LeetCode) (leetcode-cn.com) 解法:贪心思想 关键思想是,判断当前点 的最大覆盖 阅读全文
posted @ 2021-11-27 17:10 DidUStudy 阅读(38) 评论(0) 推荐(0)