朴素算法Bare Algo

贪心算法

局部最优解推导全局最优的经典贪心问题。

算法题

(14)
55. 跳跃游戏
中等
给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个下标。
数组动态规划贪心
45. 跳跃游戏 II
中等
给你一个非负整数数组 nums ,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。
数组动态规划贪心
435. 无重叠区间
中等
给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。
数组动态规划贪心排序
452. 用最少数量的箭引爆气球
中等
有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points 。一支弓箭可以沿着 x 轴从不同点完全垂直地射出。
数组贪心排序
763. 划分字母区间
中等
给你一个字符串 s 。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。返回一个表示每个字符串片段的长度的列表。
哈希表双指针字符串贪心
134. 加油站
中等
在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i]升。
数组贪心
860. 柠檬水找零
简单
在柠檬水摊上,每一杯柠檬水的售价为 5 美元。顾客排队购买你的产品,(按账单 bills 支付的顺序)一次购买一杯。
数组贪心
122. 买卖股票的最佳时机 II
中等
给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。在每一天,你可以决定是否购买和/或出售股票。你也可以先购买,然后在 同一天 出售。
数组动态规划贪心
406. 根据身高重建队列
中等
假设有打乱顺序的一群人站成一个队列,数组 people 表示队列中一些人的属性(不一定按顺序)。
数组贪心排序
621. 任务调度器
中等
给你一个用字符数组 tasks 表示的 CPU 需要执行的任务列表。其中每个字母表示一种不同种类的任务。
数组哈希表贪心排序堆
881. 救生艇
中等
给定数组 people 。people[i]表示第 i 个人的体重 ,船的数量不限,每艘船可以承载的最大重量为 limit。
数组双指针贪心排序
135. 分发糖果
困难
n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。你需要按照以下要求,给这些孩子分发糖果。
数组贪心
455. 分发饼干
中等
暂无描述
376. 摆动序列
中等
暂无描述

实际应用

(6)
首屏/预加载策略
中等
在带宽或连接数有限的情况下,优先加载收益最高(如视口内、高优先级)的资源。每次选择当前最优的加载任务。
贪心算法性能优化资源调度
日程安排/区间选择
中等
在有限的时间轴内,尽量安排更多的任务或会议,同时保证任务之间不冲突。通常按照结束时间排序后进行贪心选择。
区间贪心日程规划
并发令牌/带宽分配
困难
在并发请求控制或下载带宽分配中,当资源不足时,优先满足关键请求或进度最慢的任务(局部最优),以期达到全局较好体验。
贪心分配并发控制网络
内容流/骨架屏
简单
在数据尚未完全加载时,启发式地优先展示页面的关键块(如首屏文本、核心图片),提升用户感知的加载速度。
启发式贪心用户体验渲染
Chunk 分组与拆包
困难
构建工具(Webpack/Vite)在拆分代码包时,贪心地将相关性强、复用率高的模块打包在一起,以减少 HTTP 请求数并优化缓存命中率。
贪心分组工程化构建优化
AB 流量分配/实验分桶
中等
在进行 A/B 测试流量分配时,贪心地优先填充当前人数最少的桶,以近似达到流量均衡。
贪心均衡测试负载均衡