Remove Covered Intervals
给一个数组, 里面是intervals, 求移除所有重叠的intervals后, 数组里面元素的个数. 这个题先排序一下, 然后比较intervals的end值即可.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
class Solution { public int removeCoveredIntervals(int[][] intervals) { Arrays.sort(intervals, (a, b) -> { if(a[0] != b[0]){ return a[0] - b[0]; } else{ return b[1] - a[1]; } }); int pre = 0; int count = 0; for(int i = 1; i < intervals.length; i++) { if(intervals[i][1] <= intervals[pre][1]){ count++; } else { pre = i; } } return intervals.length - count; } } |