贪心算法
这次一定行
这个作者很懒,什么都没留下…
展开
-
769.最多能完成排序的块
题目描述 给定一个长度为 n 的整数数组 arr ,它表示在 [0, n - 1] 范围内的整数的排列。 我们将 arr 分割成若干 块 (即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。 返回数组能分成的最多块数量。 示例 1: 输入: arr = [4,3,2,1,0] 输出: 1 解释: 将数组分成2块或者更多块,都无法得到所需的结果。 例如,分成 [4, 3], [2, 1, 0] 的结果是 [3, 4, 0, 1, 2],这不是有序的数组。原创 2022-03-22 14:55:53 · 684 阅读 · 0 评论 -
11.盛最多水的容器
题目描述 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 1: 输入:[1,8,6,2,5,4,8,3,7] 输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。 示例 2:原创 2022-02-22 11:23:25 · 73 阅读 · 0 评论 -
硬币问题
硬币问题 有1元,5元,10元,50元,100元,500元的硬币各C1,C5,C10,C50,C100,C500枚。现在要用这些硬币来支付A元,最少需要多少枚硬币?家丁本题至少存在一种支付方案。 限制条件 0 0 样例 输入 C1=3,C5=2,C10=1,C50=3,C100=0,C500=2,A=620 输出 6 分析原创 2017-04-09 12:54:59 · 372 阅读 · 0 评论 -
区间问题
区间调度问题 有n项工作,每项工作分别在si时间开始,在ti时间结束。对于每项工作,你都可以选择参与与否。如果选择了参与,那么自始至终都必须全程参与。此外,参与工作的时间段不能重叠(即使是开始的瞬间和结束的瞬间的重叠也是不允许的)。 你的目的是参与尽可能多的工作,那么最多能参与多少项工作呢? 限制条件 1 1 样例 输入 n=5,s={1,2,4,6,8},t={3原创 2017-04-14 16:07:53 · 468 阅读 · 0 评论