DEV Community

Debesh P.
Debesh P.

Posted on

56. Merge Intervals | LeetCode | Top Interview 150 | Coding Questions

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


leetcode 56


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()][]);
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)