代码随想录——无重叠区间(Leetcode435)

题目链接

贪心 + 排序

java 复制代码
class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        int res = 0;
        if(intervals.length == 1 || intervals.length == 0){
            return res;
        }
        // 按左边界排序
        Arrays.sort(intervals, new Comparator<int[]>() {
    		public int compare(int[] intervals1, int[] intervals2) {
        		long diff = (long)intervals1[0] - (long)intervals2[0];
        		if (diff == 0) return 0;
        		return diff > 0 ? 1 : -1;
    		}
		});
        // 记录区间分割点
        int end = intervals[0][1];
        for(int i = 1; i < intervals.length; i++){
            // 如果下一个点的左元素大于等于分割点,说明区间不重叠,改变区间分割点
            if(intervals[i][0] >= end){
                end = intervals[i][1];
            }else{
                // 如果下一个点的左元素小于分割点,说明区间重叠,比较区间分割点和下一个点的右元素,将区间分割点赋值为较小值
                end = Math.min(end,intervals[i][1]);
                // 移除一个区间
                res++;
            }
        }
        return res;
    }
}

最近几道题感觉需要好好掌握一下java数组排序的函数写法

相关推荐
tt5555555555554 分钟前
字符串与算法题详解:最长回文子串、IP 地址转换、字符串排序、蛇形矩阵与字符串加密
c++·算法·矩阵
tuokuac38 分钟前
maven与maven-archetype-plugin版本匹配问题
java·maven
元亓亓亓39 分钟前
LeetCode热题100--101. 对称二叉树--简单
算法·leetcode·职场和发展
躲在云朵里`42 分钟前
深入理解数据结构:从数组、链表到B树家族
数据结构·b树
ankleless1 小时前
Spring Boot 实战:从项目搭建到部署优化
java·spring boot·后端
不会学习?1 小时前
算法03 归并分治
算法
野生技术架构师2 小时前
2025年中高级后端开发Java岗八股文最新开源
java·开发语言
NuyoahC2 小时前
笔试——Day43
c++·算法·笔试
静若繁花_jingjing2 小时前
JVM常量池
java·开发语言·jvm
2301_821919922 小时前
决策树8.19
算法·决策树·机器学习