> For the complete documentation index, see [llms.txt](https://algorithm.prettylog.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://algorithm.prettylog.com/top-75-leetcode-questions-to-save-your-time/problems/interval/x-57.-insert-interval.md).

# x 57. Insert Interval

{% embed url="<https://leetcode.com/problems/insert-interval/>" %}

```javascript
/**
 * @param {number[][]} intervals
 * @param {number[]} newInterval
 * @return {number[][]}
 */
var insert = function (intervals, newInterval) {
    const n = intervals.length;
    const answer = [];

    let i = 0;
    while (i < n && intervals[i][1] < newInterval[0]) {
        answer.push(intervals[i]);
        i++;
    }

    while (i < n && intervals[i][0] <= newInterval[1]) {
        newInterval[0] = Math.min(intervals[i][0], newInterval[0]);
        newInterval[1] = Math.max(intervals[i][1], newInterval[1]);
        i++;
    }
    answer.push(newInterval);

    while (i < n) {
        answer.push(intervals[i]);
        i++
    }

    return answer;
};
```
