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;
    }
}
相关推荐
EXtreme355 小时前
【数据结构】打破线性思维:树形结构与堆在C语言中的完美实现方案
c语言·数据结构·算法··heap·完全二叉树·topk
cici158745 小时前
含风电场的十机24时系统机组出力优化算法
人工智能·算法·机器学习
WolfGang0073215 小时前
代码随想录算法训练营Day45 | 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿
算法·深度优先
2301_764441335 小时前
PMC政策文本量化评估
python·算法·信息可视化
代码游侠5 小时前
应用——Linux进程编程实例分析
linux·运维·网络·笔记·学习·算法
DuHz5 小时前
《Around the Corner mmWave Imaging in Practical Environments》论文精读
论文阅读·算法·信息与通信·毫米波雷达
CoderYanger5 小时前
D.二分查找-基础-2529. 正整数和负整数的最大计数
java·开发语言·数据结构·算法·leetcode·职场和发展
想唱rap5 小时前
Linux下进程的控制
linux·运维·服务器·c++·算法
夏乌_Wx5 小时前
练题100天——DAY25:升序合并文件+相交链表+多数元素
数据结构·算法·哈希算法
南_山无梅落5 小时前
8.Python3字典(dict):键值的增删改查_入门到进阶
python·算法