Leetcode 435. Non-overlapping Intervals
题目链接: Non-overlapping Intervals
难度:Medium
题目大意:
给出一些区间,求最少需要去掉几个区间,使得剩下的区间都互不重叠。
思路:
使用贪心思想,将所有区间按照右值从小到大排列,遍历排序后的区间,如果当前区间与前一个区间有重叠,则该区间需要去掉。
代码
class Solution {
public int eraseOverlapIntervals(int[][] intervals) {
if(intervals.length<=1){
return 0;
}
Arrays.sort(intervals,(a,b)->a[1]-b[1]);
int count=0,right=intervals[0][1];
for(int i=1;i<intervals.length;i++){
if(intervals[i][0]<right){
count++;
}
else{
right=intervals[i][1];
}
}
return count;
}
}