763. 划分字母区间
static int eraseOverlapIntervals(int[][] intervals) { List<Integer> list = new ArrayList<>(); final int N = intervals == null ? 0 : intervals.length; // 将区间进行排序 Arrays.sort(intervals, new Comparator<int[]>() { public int compare(int[] a, int[] b) { return a[1] == b[1] ? 0 : (a[1] < b[1] ? -1 : 1); } }); // 已重叠的区间的最右端点 int maxEnd = Integer.MIN_VALUE; //不重叠的区间的个数 int ans = 0; // 开始贪心算法 for (int i = 0; i < N; i++) { final int start = intervals[i][0]; if (maxEnd <= start) { maxEnd = intervals[i][1]; ans++; } } return intervals.length - ans; }