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;
    }
}
相关推荐
gaosushexiangji6 小时前
一项基于粒子图像测速(PIV)速度场反演的压力场重构技术
人工智能·算法
Voyager_46 小时前
算法学习记录17——力扣“股票系列题型”
学习·算法·leetcode
雨大王5126 小时前
汽车涂装工艺的智能化与绿色化升级:技术、案例与趋势
算法
XFF不秃头6 小时前
【力扣刷题笔记-在排序数组中查找元素的第一个和最后一个位置】
c++·笔记·算法·leetcode
yoyo君~6 小时前
FAST-LIVO2 深度技术解析
算法·计算机视觉·机器人·无人机
我也要当昏君6 小时前
时间复杂度
算法·数学建模
业精于勤的牙7 小时前
浅谈:算法中的斐波那契数(六)
人工智能·算法
小孟的CDN7 小时前
使用pytorch进行batch_size分批训练,并使用adam+lbfgs算法——波士顿房价预测
pytorch·算法·batch·代码·adam+lbfgs
仰泳的熊猫7 小时前
1037 Magic Coupon
数据结构·c++·算法·pat考试
AI科技星7 小时前
质量定义方程的物理数学融合与求导验证
数据结构·人工智能·算法·机器学习·重构