标签:last get als lis else star code span over
Given a collection of intervals, merge all overlapping intervals.
Example 1:
Input: [[1,3],[2,6],[8,10],[15,18]] Output: [[1,6],[8,10],[15,18]] Explanation: Since intervals [1,3] and [2,6] overlaps, merge them into [1,6].
Example 2:
Input: [[1,4],[4,5]] Output: [[1,5]] Explanation: Intervals [1,4] and [4,5] are considered overlapping.
NOTE: input types have been changed on April 15, 2019. Please reset to default code definition to get new method signature.
class Solution { public int[][] merge(int[][] intervals) { List<int[]> res = new ArrayList<>(); if (intervals.length == 0) { return new int[][] {}; } Arrays.sort(intervals, (a, b) -> (a[0] - b[0])); int start = intervals[0][0]; int end = intervals[0][1]; for (int[] interval: intervals) { if (interval[0] <= end) { end = Math.max(end, interval[1]); } else { res.add(new int[]{start, end}); start = interval[0]; end = interval[1]; } } // need to add back the last tuple res.add(new int[]{start, end}); return res.toArray(new int[][] {}); } }
标签:last get als lis else star code span over
原文地址:https://www.cnblogs.com/xuanlu/p/11904893.html