无重叠区间【贪心算法】

  1. 无重叠区间
    给定一个区间的集合 intervals ,其中 intervals[i] = [starti, endi] 。返回 需要移除区间的最小数量,使剩余区间互不重叠 。
复制代码
class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        //先排序,按照左边界升序,注意这种方法如果左边界相等,则不予处理
        Arrays.sort(intervals, (a, b) -> {
            return Integer.compare(a[0], b[0]);
        });

        int result = 0;
        int pre = intervals[0][1];

        for (int i = 1; i < intervals.length; i++) {
            if (intervals[i][0] < pre) {//有重叠
                result++;//去除数量+1
                pre = Math.min(intervals[i][1], pre);//保留前面重叠区间右端点最小的整个区间。注意这里不可直接进行右端点的区间的局部更新!!
            } else {
                pre = intervals[i][1];//没有重叠,则右端点则保持正常
            }
        }
        return result;
    }
}
相关推荐
炽烈小老头15 小时前
【每天学习一点算法 2026/03/08】相交链表
学习·算法·链表
一碗白开水一15 小时前
【工具相关】OpenClaw 配置使用飞书:打造智能飞书助手全流程指南(亲测有效,放心享用)
人工智能·深度学习·算法·飞书
仰泳的熊猫16 小时前
题目2194:蓝桥杯2018年第九届真题-递增三元组
数据结构·c++·算法
Tisfy16 小时前
LeetCode 1888.使二进制字符串字符交替的最少反转次数:前缀和O(1)
算法·leetcode·字符串·题解
滴滴答滴答答17 小时前
机考刷题之 9 LeetCode 503 下一个更大元素 II
算法·leetcode·职场和发展
飞Link17 小时前
梯度下降的优化算法中,动量算法和指数加权平均的区别对比
人工智能·深度学习·算法
啊哦呃咦唔鱼17 小时前
LeetCode hot100-15 三数之和
数据结构·算法·leetcode
_日拱一卒17 小时前
LeetCode(力扣):杨辉三角||
算法·leetcode·职场和发展
rqtz17 小时前
基于I2C总线的IMU-磁力计融合算法与数据共享
算法·iic·espidf·qmc5883p·icm42670p·imu磁力计融合
leluckys17 小时前
算法-链表-二、成对交换两个节点
数据结构·算法·链表