DEV Community

Debesh P.
Debesh P.

Posted on

57. Insert Interval | LeetCode | Top Interview 150 | Coding Questions

Problem Link

https://leetcode.com/problems/insert-interval/


Detailed Step-by-Step Explanation

https://leetcode.com/problems/insert-interval/solutions/7518330/most-optimal-solution-all-languages-beat-jp9b


leetcode 57


Solution

class Solution {
    public int[][] insert(int[][] intervals, int[] newInterval) {

        List<int[]> res = new ArrayList<>();
        int i = 0;

        while (i < intervals.length && intervals[i][1] < newInterval[0]) {
            res.add(intervals[i]);
            i++;
        }

        while (i < intervals.length && intervals[i][0] <= newInterval[1]) {
            newInterval[0] = Math.min(newInterval[0], intervals[i][0]);
            newInterval[1] = Math.max(newInterval[1], intervals[i][1]);
            i++;
        }
        res.add(newInterval);

        while (i < intervals.length) {
            res.add(intervals[i]);
            i++;
        }

        return res.toArray(new int[res.size()][]);
    }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)