
贪心
文章平均质量分 87
lenyan~
大家好,我是 lenyan。在这里,你将开启一场精彩绝伦的 Java 知识奇妙之旅。
努力学习,争取实习,希望可以和大家多多交流。
GitHub: https://github.com/lenyanjgk
展开
-
力扣第316与1081题 不同字符的最小子序列 C++ Java Python
请你去除字符串中重复的字母,使得每个字母只出现一次。为列表,用于记录每个字符出现的次数。是用于记录栈中已经包含的字符,而。类型,用于记录栈中已经包含的字符;类型,用于记录每个字符出现的次数。,且后面还会出现,则将栈顶元素移除。将栈中字符逆序输出,构成结果字符串。类型,用于存储结果字符串的字符;是用于统计每个字符出现的次数。是用于记录栈中已经包含的字符,是用于记录每个字符出现的次数。存储结果字符串的字符,集合。是用于存储结果字符串的栈,记录栈中已经包含的字符,如果栈中已经包含了字符。原创 2024-03-22 07:00:00 · 2089 阅读 · 0 评论 -
力扣第53题 最大子数组和 C++ 动态规划 / 贪心算法 附Java代码
中等相关标签给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。6连续子数组 [4,-1,2,1] 的和最大,为 6。nums = [1]123如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的求解。原创 2023-11-10 08:00:00 · 212 阅读 · 0 评论 -
力扣第123题 买卖股票的最佳时机 III c++ 动态规划解法 hard题 附Java代码
困难相关标签给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成交易。你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。6在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获得利润 = 3-0 = 3。随后,在第 7 天(股票价格 = 1)的时候买入,在第 8 天 (股票价格 = 4)的时候卖出,这笔交易所能获得利润 = 4-1 = 3。4。原创 2023-11-07 09:00:00 · 178 阅读 · 0 评论 -
力扣第122题 买卖股票的最佳时机 Il c++ 动态规划解法 dp思维 股票问题 附Java代码
贪心解法 股票问题2相关标签给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。原创 2023-11-07 08:30:00 · 156 阅读 · 0 评论 -
力扣第968题 监控二叉树 c++ hard题 二叉树的后序遍历 + 模拟 + 贪心
相关标签给定一个二叉树,我们在树的节点上安装摄像头。节点上的每个摄影头都可以监视计算监控树的所有节点所需的最小摄像头数量。1如图所示,一台摄像头足以监控所有节点。2需要至少两个摄像头来监视树的所有节点。上图显示了摄像头放置的有效位置之一。[1, 1000]原创 2023-10-30 09:00:00 · 161 阅读 · 0 评论 -
力扣第738题 单调递增的数字 c++ 暴力超时 贪心优化
相关标签当且仅当每个相邻位数上的数字x和y满足x <= y时,我们称这个整数是的。给定一个整数n,返回小于或等于n的最大数字,且数字呈。原创 2023-10-30 08:00:00 · 433 阅读 · 0 评论 -
力扣第56题 合并区间 c++ 贪心
相关标签以数组intervals表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].[[1,5]]区间 [1,4] 和 [4,5] 可被视为重叠区间。原创 2023-10-29 09:00:00 · 407 阅读 · 0 评论 -
力扣第435题 无重叠区间 c++ 贪心思维
中等相关标签给定一个区间的集合intervals,其中。返回需要移除区间的最小数量,使剩余区间互不重叠。1移除 [1,3] 后,剩下的区间没有重叠。2你需要移除两个 [1,2] 来使剩下的区间没有重叠。0你不需要移除任何区间,因为它们已经是无重叠的了。原创 2023-10-27 15:00:00 · 269 阅读 · 0 评论 -
力扣第452题 用最少数量的箭引爆气球 贪心 c++
相关标签有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组points,其中表示水平直径在xstart和xend之间的气球。你不知道气球的确切 y 坐标。一支弓箭可以沿着 x 轴从不同点地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为startend, 且满足end,则该气球会被。可以射出的弓箭的数量。弓箭一旦被射出之后,可以无限地前进。给你一个数组points返回引爆所有气球所必须射出的弓箭数。原创 2023-10-27 09:00:00 · 335 阅读 · 0 评论 -
蓝桥杯 第 2 场算法双周赛 第3题 摆玩具【算法赛】 c++ 贪心
例如将 {1,2,3,4,5}{1,2,3,4,5} 分为两段,{1,2,3}∣{4,5}{1,2,3}∣{4,5} 是合法的,但是 {1,2,4}∣{3,5}{1,2,4}∣{3,5} 不是合法的。:是指每个分段中最高和最矮玩具高度之差,例如有一段为:{3,6,10,12}{3,6,10,12},那么极差为 12−3=912−3=9。具体来说,你需要将一个长度为 n 的序列分为 k 段,我们定义 Gi 为第 i 个分段的极差,你要最小化 ∑i=1kGi。个最小的差值之和,并将结果存储在变量。原创 2023-10-28 09:00:00 · 325 阅读 · 0 评论 -
力扣第406题 根据身高重建队列 c++ 贪心思维
相关标签假设有打乱顺序的一群人站成一个队列,数组people表示队列中一些人的属性(不一定按顺序)。每个表示第i个人的身高为hi,前面有ki个身高大于或等于hi的人。请你重新构造并返回输入数组people所表示的队列。返回的队列应该格式化为数组queue,其中是队列中第j个人的属性(queue[0]是排在队列前面的人)。编号为 0 的人身高为 5 ,没有身高更高或者相同的人排在他前面。编号为 1 的人身高为 7 ,没有身高更高或者相同的人排在他前面。原创 2023-10-27 08:00:00 · 457 阅读 · 1 评论 -
力扣第860题 柠檬水找零 c++ 小小贪心思维 + 无脑代码
相关标签在柠檬水摊上,每一杯柠檬水的售价为5美元。顾客排队购买你的产品,(按账单bills支付的顺序)一次购买一杯。每位顾客只买一杯柠檬水,然后向你付5美元、10美元或20美元。你必须给每个顾客正确找零,也就是说净交易是每位顾客向你支付5美元。注意,一开始你手头没有任何零钱。给你一个整数数组bills,其中bills[i]是第i位顾客付的账。如果你能给每位顾客正确找零,返回true,否则返回false。true前 3 位顾客那里,我们按顺序收取 3 张 5 美元的钞票。原创 2023-10-26 09:00:00 · 477 阅读 · 0 评论 -
力扣第135题 分发糖果 c++ 贪心 加 思维
相关标签n个孩子站成一排。给你一个整数数组ratings表示每个孩子的评分。1请你给每个孩子分发糖果,计算并返回需要准备的。5你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。4你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。原创 2023-10-26 08:00:00 · 522 阅读 · 0 评论 -
力扣第134题 加油站 c++ 暴力 + 贪心
中等相关标签相关企业在一条环路上有n个加油站,其中第i个加油站有汽油gas[i]升。你有一辆油箱容量无限的的汽车,从第i个加油站开往第i+1个加油站需要消耗汽油cost[i]升。你从其中的一个加油站出发,开始时油箱为空。给定两个整数数组gas和cost,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。如果存在解,则它是的。3从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油。原创 2023-10-25 09:00:00 · 536 阅读 · 0 评论 -
力扣第1005题 K 次取反后最大化的数组和 c++ 贪心 双思维
相关标签给你一个整数数组nums和一个整数kinums[i]-nums[i]重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组。5选择下标 1 ,nums 变为 [4,-2,3]。6选择下标 (1, 2, 2) ,nums 变为 [3,1,0,2]。13选择下标 (1, 4) ,nums 变为 [2,3,-1,5,4]。原创 2023-10-25 08:00:00 · 440 阅读 · 0 评论 -
力扣第45题 跳跃游戏II c++ 贪心算法
相关标签给定一个长度为n的整数数组nums。初始位置为nums[0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i]处,你可以跳转到任意i + j < n返回到达的最小跳跃次数。生成的测试用例可以到达。2跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。2nums[n-1]原创 2023-10-24 09:00:00 · 270 阅读 · 0 评论 -
力扣第55题 跳跃游戏 c++ 贪心 + 覆盖 加暴力超时参考
相关标签给你一个非负整数数组nums,你最初位于数组的。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回true;否则,返回false。true可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。false无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。原创 2023-10-24 08:00:00 · 1823 阅读 · 0 评论 -
力扣第121题 买卖股票的最佳时机 贪心思维 c++
相关标签给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。0。原创 2023-10-23 09:00:00 · 190 阅读 · 0 评论 -
力扣第122题 买卖股票的最佳时机 ll c++ 贪心 + 动态规划
相关标签给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。原创 2023-10-23 08:00:00 · 232 阅读 · 0 评论 -
力扣第53题 最大子树组和 动态规划 + 贪心 两种方法 c++
相关标签给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。是数组中的一个连续部分。6连续子数组 [4,-1,2,1] 的和最大,为 6。nums = [1]123如果你已经实现复杂度为O(n)的解法,尝试使用更为精妙的求解。原创 2023-10-22 15:00:00 · 282 阅读 · 0 评论 -
力扣第376题 摆动序列 c++ 贪心
相关标签如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为第一个差(如果存在的话)可能是正数或负数。仅有一个元素或者含两个不等元素的序列也视作摆动序列。例如,是一个,因为差值是正负交替出现的。可以通过从原始序列中删除一些(也可以不删除)元素来获得,剩下的元素保持其原始顺序。给你一个整数数组nums,返回nums中作为的。6整个序列均为摆动序列,各元素之间的差值为 (6, -3, 5, -7, 3)。7这个序列包含几个长度为 7 摆动序列。原创 2023-10-22 09:00:00 · 722 阅读 · 1 评论 -
力扣第455题 分发饼干 c++ 贪心 经典题
相关标签假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子i,都有一个胃口值g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干j,都有一个尺寸s[j]。如果,我们可以将这个饼干j分配给孩子i,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。1你有三个孩子和两块小饼干,3个孩子的胃口值分别是:1,2,3。虽然你有两块小饼干,由于他们的尺寸都是1,你只能让胃口值是1的孩子满足。所以你应该输出1。2。原创 2023-10-22 08:00:00 · 274 阅读 · 3 评论 -
蓝桥杯 第 1 场算法双周赛 第三题 分组【算法赛】c++ 贪心+双指针
分组【算法赛】原创 2023-10-15 15:00:00 · 613 阅读 · 0 评论