classSolution{publicinteraseOverlapIntervals(int[][] intervals){if(intervals.length ==0)return0;Arrays.sort(intervals,newComparator<int[]>(){//按照每个区间的end排序,a-b返回值>0 a放在b后面publicintcompare(int[] interval1,int[] interval2){return interval1[1]- interval2[1];//升序排列}});int n = intervals.length;//所有区间的个数int right = intervals[0][1];//保存目前重叠区间后最右边界(end)大小。初始保存第一个区间的endint ans =1;//保存有几个不重叠的区间,初始只有第一个区间,一定不重叠for(int i =1; i < n;++i){if(intervals[i][0]>= right){//如果当前区间的start >= 目前最右区间大小++ans;//说明当前区间绝对不会重叠
right = intervals[i][1];//right指向当前区间加入重叠后的end}}return n - ans;//n所有区间 - 非多余区间 = 需要移除的区间}}