随笔分类 - 贪心
1
摘要:题目链接:https://leetcode-cn.com/problems/remove-duplicate-letters/ 题目描述: 题解: 1.遍历字符串,记录字符出现次数。 2.定义标记数组,记录字符是否重复出现过。 3.为了确保返回结果的字典序最小,使用单调栈。 class Soluti
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/container-with-most-water 题目描述: 给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-with-transaction-fee/ 题目描述: 相关题:买卖股票的最佳时机|| 题解: 参考链接:买卖股票的最佳时机含手续费题解 class Solut
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/monotone-increasing-digits/ 题目描述: 题解: 从后往前遍历,遇到strNum[i - 1] > strNum[i]的情况,让strNum[i - 1]--,然后strNum[i]给为9,可以保证
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/merge-intervals/ 题目描述: 题解: 排序: 1.按左边界排序,从左往右遍历,右值越大越好。 2.按右边界排序,从右往左遍历,左值越小越好。 class Solution { public: static b
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/partition-labels/ 题目描述: 题解: 解题思路:划分字母区间 1.统计每一个字符最后出现的位置 2.从头遍历字符,并更新字符的最远出现下标,如果找到字符最远出现位置下标和当前下标相等了,则找到了分割点 cl
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/non-overlapping-intervals/submissions/ 题目描述: 题解: 排序: 1.按左边界排序,从右往左遍历,左值越大越好。 2.按右边界排序,从左往右遍历,右值越小越好。 class Solut
阅读全文
摘要:题目链接:用最少数量的箭引爆气球 题目描述: 题解: class Solution { public: static bool cmp(vector<int> &a, vector<int> &b) //按右边界排序 { return a[1] < b[1]; } int findMinArrowS
阅读全文
摘要:题目链接: https://leetcode-cn.com/problems/queue-reconstruction-by-height/submissions/ 题目描述: 题目分析: 先按h排序,再按k插入。 排序算法: 当h相同时,k越小的越靠前。 当h不相同时,h越大的越靠前。 插入算法:
阅读全文
摘要:题目链接: https://leetcode-cn.com/problems/lemonade-change/ 题目描述: 题解: class Solution { public: bool lemonadeChange(vector<int>& bills) { unordered_map<int
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/candy/ 题目描述: 题解: class Solution { public: int candy(vector<int>& ratings) { vector<int> candyVec(ratings.size(),
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/gas-station/ 题目描述: 题解: 1.如果gas的总和小于cost总和,一定不能跑一整圈。 2.每个加油站剩余量rest[i] = gas[i] - cost[i] 3.i从0开始累加rest[i],和记为cur
阅读全文
摘要:**题目链接:**https://leetcode-cn.com/problems/jump-game-ii/ 题目描述: 题解: 题解参考: windliang的题解 如下图,开始的位置是 2,可跳的范围是橙色的。然后因为 3 可以跳的更远,所以跳到 3 的位置。 如下图,然后现在的位置就是 3
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/maximize-sum-of-array-after-k-negations/ 题目描述: 题解: 1.按绝对值从大到小排序 2.遍历整个数组,遇到负数,将负数变正数 3.如果遍历完整个数组,K仍然大于0,将数组的最后一个
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/maximum-ice-cream-bars 题目描述: 夏日炎炎,小男孩 Tony 想买一些雪糕消消暑。 商店中新到 n 支雪糕,用长度为 n 的数组 costs 表示雪糕的定价,其中 costs[i] 表示第 i 支雪糕
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/jump-game 题目描述: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。 示例 1: 输入:nums = [2,
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii 题目描述: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/wiggle-subsequence 题目描述: 如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。 例如, [1,7,4,9,
阅读全文
摘要:题目链接:https://leetcode-cn.com/problems/assign-cookies 题目描述: 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干
阅读全文
摘要:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4] 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用
阅读全文
1