力扣-56.合并区间
56.合并区间
class Solution {public int[][] merge(int[][] intervals) {Arrays.sort(intervals, new Comparator<int[]>() {public int compare(int[] o1, int[] o2) {return o1[0] - o2[0];}});List<int[]> res = new ArrayList<>();for (int i = 1; i < intervals.length; i++) {if (intervals[i][0] > intervals[i - 1][1]) {res.add(intervals[i - 1]);} else {intervals[i][1] = Math.max(intervals[i - 1][1], intervals[i][1]);intervals[i][0] = Math.min(intervals[i - 1][0], intervals[i][0]);}}res.add(intervals[intervals.length - 1]);int[][] merged = new int[res.size()][];return res.toArray(merged);}
}
小结:思路不难,先排序再遍历,需要注意的是链表和数组的转化toArray
需要存放的数组作为参数。