代码随想录——无重叠区间(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数组排序的函数写法

相关推荐
徐子童几秒前
FloodFill---BFS
算法·bfs·宽度优先·队列·floodfill
weixin_307779133 分钟前
AWS Elastic Beanstalk 实现 Java 应用高可用部署指南
java·开发语言·云计算·aws·web app
我命由我1234510 分钟前
Photoshop - Photoshop 工具栏(20)混合器画笔工具
经验分享·笔记·学习·ui·职场和发展·职场发展·photoshop
萝卜白菜。18 分钟前
关于Java EE应用中xml解析类的问题
xml·java·java-ee
一米阳光zw23 分钟前
Spring Boot中使用 MDC实现请求TraceId全链路透传
java·spring boot·后端·traceid·mdc
jerryinwuhan34 分钟前
SVM案例分析
算法·机器学习·支持向量机
王元_SmallA38 分钟前
pgsql:connection failed connection to server at
java·后端
高山上有一只小老虎42 分钟前
购物消费打折
java·算法
tuokuac1 小时前
@Configuration类中定义的@Bean方法
java
郝学胜-神的一滴1 小时前
计算机图形中的法线矩阵:深入理解与应用
开发语言·程序人生·线性代数·算法·机器学习·矩阵·个人开发