Problem Link
https://leetcode.com/problems/merge-intervals/
Detailed Step-by-Step Explanation
https://leetcode.com/problems/merge-intervals/solutions/7513395/most-optimal-solution-beats-200-all-lang-wtea

Solution
class Solution {
public int[][] merge(int[][] intervals) {
if (intervals.length <= 1) {
return intervals;
}
Arrays.sort(intervals, Comparator.comparingInt(i -> i[0]));
List<int[]> res = new ArrayList<>();
int[] current = intervals[0];
res.add(current);
for (int[] interval : intervals) {
if (current[1] >= interval[0]) {
current[1] = Math.max(current[1], interval[1]);
} else {
current = interval;
res.add(current);
}
}
return res.toArray(new int[res.size()][]);
}
}
Top comments (0)