435. 无重叠区间 Krains 2020-07-28 11:26:10 贪心

时间:2022-07-22
本文章向大家介绍435. 无重叠区间 Krains 2020-07-28 11:26:10 贪心,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

# 题目链接

使用贪心求出最大不重叠区间,然后用总区间数减去它。

将区间以右端点从小到大排序,然后选取不重叠的区间即可。

为什么贪心是正确的?

简单的说就是优先选择越早结束的区间,会留下更多空间选择其他区间。

class Solution {
    public int eraseOverlapIntervals(int[][] intervals) {
        int count = 0;

        Arrays.sort(intervals, new Comparator<int[]>(){
            @Override
            public int compare(int[] a, int[] b){
                return a[1] - b[1];
            }
        });

        int end = Integer.MIN_VALUE;
        for(int i = 0; i < intervals.length; i++){
            if(end <= intervals[i][0]){
                end = intervals[i][1];
                count++;
            }
        }

        return intervals.length - count;
    }
}