LeetCode-435-无重叠区间

题目链接:
力扣435 -无重叠区间

解题思路:和之前的合并区间、汇总区间都比较相似,

  1. 先对二维数组排序,按照左边界升序;
  2. 当 当前区间的左区间 < 前一个区间的右区间,说明有重叠,res+1,还要更新当前区间的右区间,选择两个区间的右边界的最小值。
    代码实现:
java 复制代码
class Solution {
    /**
     * 1. 先对二维数组排序,按照左边界升序
     * 2. 当 当前区间的左区间 < 前一个区间的右区间,说明有重叠,res+1,还要更新当前区间的右区间,选择两个区间的右边界的最小值
     */
    public int eraseOverlapIntervals(int[][] intervals) {
        if (intervals.length == 1) {
            return 0;
        }
        Arrays.sort(intervals, (x, y) -> x[0] == y[0] ? x[1] - y[1] : x[0] - y[0]);// 排序
        int res = 0;// 计数
        int len = intervals.length;
        for (int i = 1; i < len; i++) {
            if (intervals[i][0] < intervals[i - 1][1]) {// 有重叠
                res++;
                intervals[i][1] = Math.min(intervals[i - 1][1], intervals[i][1]);
            }
        }
        return res;
    }
}
相关推荐
XFF不秃头1 小时前
力扣刷题笔记-旋转图像
c++·笔记·算法·leetcode
王老师青少年编程1 小时前
csp信奥赛C++标准模板库STL案例应用3
c++·算法·stl·csp·信奥赛·lower_bound·标准模版库
有为少年2 小时前
Welford 算法 | 优雅地计算海量数据的均值与方差
人工智能·深度学习·神经网络·学习·算法·机器学习·均值算法
Ven%2 小时前
从单轮问答到连贯对话:RAG多轮对话技术详解
人工智能·python·深度学习·神经网络·算法
山楂树の2 小时前
爬楼梯(动态规划)
算法·动态规划
谈笑也风生2 小时前
经典算法题型之复数乘法(二)
开发语言·python·算法
智算菩萨2 小时前
强化学习从单代理到多代理系统的理论与算法架构综述
人工智能·算法·强化学习
lhn2 小时前
大模型强化学习总结
算法
Gigavision3 小时前
MMPD数据集 最新Mamba算法 源码+数据集 下载方式
算法
Xの哲學3 小时前
Linux UPnP技术深度解析: 从设计哲学到实现细节
linux·服务器·网络·算法·边缘计算