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

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()][]);
}
}
Top comments (0)