哈尔滨网站建设团队,手机app播放器,中文域名网站标识,网站备案会检查空间题目描述#xff1a; 以数组 intervals 表示若干个区间的集合#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间#xff0c;并返回一个不重叠的区间数组#xff0c;该数组需恰好覆盖输入中的所有区间。 示例 1#xff1a; 输入#xff1… 题目描述 以数组 intervals 表示若干个区间的集合其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间并返回一个不重叠的区间数组该数组需恰好覆盖输入中的所有区间。 示例 1 输入intervals [[1,3],[2,6],[8,10],[15,18]] 输出[[1,6],[8,10],[15,18]] 解释区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]。 示例 2 输入intervals [[1,4],[4,5]] 输出[[1,5]] 解释区间 [1,4] 和 [4,5] 可被视为重叠区间。
代码
class Solution {public int[][] merge(int[][] intervals) {if(intervals.length1){return intervals;}Arrays.sort(intervals, new Comparatorint[]() {public int compare(int[] interval1, int[] interval2) {return interval1[0] - interval2[0];}});Listint[] resultnew LinkedList();result.add(intervals[0]);for(int i1;iintervals.length;i){if(result.get(result.size()-1)[1]intervals[i][0]){if(result.get(result.size()-1)[1]intervals[i][1]){result.get(result.size()-1)[1]intervals[i][1];}}else{result.add(intervals[i]);}}int[][] ansnew int[result.size()][2];for(int i0;i result.size();i){ans[i] result.get(i);}return ans;}
}