LeetCode贪心
肉丸不肉
这个作者很懒,什么都没留下…
展开
-
贪心题目汇总
分发饼干 不重叠的区间个数 区间调度问题 用最少数量的箭引爆气球 区间调度问题 根据身高重建队列 买卖股票的最佳时机 买卖股票的最大收益 II 种植花朵 判断子序列 非递减数列 最大子序和 划分字母区间 ...原创 2020-03-16 16:54:36 · 231 阅读 · 0 评论 -
LeetCode 763. Partition Labels(划分字母区间)
字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。 示例 1: 输入: S = "ababcbacadefegdehijhklij" 输出: [9,7,8] 解释: 划分结果为 "ababcbaca", "defegde", "hijhklij"。 每个字母最多出现在一个片段中。 像 "ababcba...原创 2020-03-16 16:49:16 · 212 阅读 · 0 评论 -
LeetCode 53. Maximum Subarray(最大子序和)
Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation:...原创 2020-03-16 16:11:08 · 131 阅读 · 0 评论 -
LeetCode 665. Non-decreasing Array(非递减数列)
题目描述:判断一个数组是否能最多只修改一个数就成为非递减数组。 public boolean checkPossibility(int[] nums) { if(nums.length <= 1) return true; //修改次数 int count = 0; for(int i = 1; i < nums.l...原创 2020-03-16 16:00:37 · 226 阅读 · 0 评论 -
LeetCode 392. Is Subsequence(判断子序列)
s = "abc", t = "ahbgdc" Return true. 不可改变字符的相对位置 public boolean isSubsequence(String s, String t) { //双指针法 int si = 0, ti = 0; char[] snew = s.toCharArray(), tnew = t.toCha...原创 2020-03-16 15:41:10 · 208 阅读 · 0 评论 -
LeetCode 605. Can Place Flowers(种植花朵)
题目描述:flowerbed 数组中 1 表示已经种下了花朵。花朵之间至少需要一个单位的间隔,求解是否能种下 n 朵花。 有两种情况可种花: 000 001/ 100 public boolean canPlaceFlowers(int[] flowerbed, int n) { if(flowerbed.length == 0) return false; ...原创 2020-03-16 15:31:59 · 270 阅读 · 0 评论 -
LeetCode 122. Best Time to Buy and Sell Stock II(买卖股票的最大收益 II)
可以进行多次交易,多次交易之间不能交叉进行,求总利益。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 对于 [a, b, c, d],如果有 a <= b <= c <= d ,那么最大收益为 d - a。 而 d - a = (d - c) + (c - b) + (b - a) , 因此当访问到一个 prices[i] 且 p...原创 2020-03-16 15:22:48 · 179 阅读 · 0 评论 -
LeetCode 121. Best Time to Buy and Sell Stock(买卖股票的最佳时机)
只允许交易一次,交易一次包含买入和卖出,求最大利益 我们来假设自己来购买股票。随着时间的推移,每天我们都可以选择出售股票与否。 那么,假设在第 i 天,如果我们要**在今天卖股票**,那么我们能赚多少钱呢? 显然,如果我们真的在买卖股票,我们肯定会想:如果我是**在历史最低点买的股票就好了!** 太好了,在题目中,我们只要用一个变量记录一个历史最低价格 minprice,我们就可以假...原创 2020-03-16 15:17:37 · 138 阅读 · 0 评论 -
LeetCode 406. Queue Reconstruction by Height(根据身高重建队列)
题目描述:一个学生用两个分量 (h, k) 描述,h 表示身高,k 表示排在前面的有 k 个学生的身高比他高或者和他一样高。 public int[][] reconstructQueue(int[][] people) { if(people.length == 0 || people[0].length == 0) { return new int...原创 2020-03-16 14:55:34 · 206 阅读 · 0 评论 -
LeetCode 452. Minimum Number of Arrows to Burst Balloons(用最少数量的箭引爆气球)
题目描述:气球在一个水平数轴上摆放,可以重叠,飞镖垂直投向坐标轴,使得路径上的气球都被刺破。求解最小的投飞镖次数使所有气球都被刺破。 如果最多有 n 个不重叠的区间,那么就至少需要 n 个箭头穿透所有区间 箭头如果碰到气球的边界气球也会爆炸,所以说相当于区间的边界触碰也算重叠: public int findMinArrowShots(int[][] points) { ...原创 2020-03-16 14:26:29 · 237 阅读 · 0 评论 -
LeetCode 435. Non-overlapping Intervals(无重叠区间)
题目描述:计算让一组区间不重叠所需要移除的区间个数。—区间调度问题 先计算最多能组成的不重叠区间个数,然后用区间总个数减去不重叠区间的个数。 在每次选择中,区间的结尾最为重要,选择的区间结尾越小,留给后面的区间的空间越大,那么后面能够选择的区间个数也就越大。 按区间的结尾进行排序,每次选择结尾最小,并且和前一个区间不重叠的区间。 边界相同并不算相交 public int eraseO...原创 2020-03-16 14:16:58 · 349 阅读 · 0 评论 -
LeetCode 455. Assign Cookies(分发饼干)
题目描述:每个孩子都有一个满足度 grid,每个饼干都有一个大小 size,只有饼干的大小大于等于一个孩子的满足度,该孩子才会获得满足。求解最多可以获得满足的孩子数量。 限制值:饼干的size 期望值:满足的孩子数最多 每次选择时,选择在对限制值同等贡献量的情况下,对期望值贡献最大的数据 public int findContentChildren(int[] g, int[] s)...原创 2020-03-16 13:18:23 · 214 阅读 · 0 评论