1. 排序 + 贪心选择
适用场景:
-
任务调度问题:需要安排多个任务,尽量完成更多任务或最小冲突。
-
区间调度问题:选出最多互不重叠的区间。
-
区间覆盖问题:用最少区间覆盖某个范围。
-
合并区间问题:合并重叠区间。
-
区间拆分、区间选择优化等。
贪心思路:
-
先按结束时间(或起始时间)排序
-
依次选择满足条件的区间(如不重叠)
-
局部选择结束最早或起点最晚,给后续留最大空间
详细题目:
-
-
无重叠区间(最少移除使区间不重叠)
-
-
-
用最少数量的箭射爆气球(区间覆盖)
-
-
-
合并区间(合并所有重叠区间)
-
-
-
会议室 II(最少会议室数量)
-
-
-
插入区间(插入一个区间并合并)
-
-
-
划分字母区间(分割字符串使字符只出现一次)
-
func GreedyIntervalScheduling(intervals [][]int) int {
if len(intervals) == 0 {
return 0
}
// 1. 按区间结束时间排序
sort.Slice(i

最低0.47元/天 解锁文章
1760

被折叠的 条评论
为什么被折叠?



