|
| 1 | +<h2><a href="https://leetcode.com/problems/insert-interval/">57. Insert Interval</a></h2><h3>Medium</h3><hr><div><p>You are given an array of non-overlapping intervals <code>intervals</code> where <code>intervals[i] = [start<sub>i</sub>, end<sub>i</sub>]</code> represent the start and the end of the <code>i<sup>th</sup></code> interval and <code>intervals</code> is sorted in ascending order by <code>start<sub>i</sub></code>. You are also given an interval <code>newInterval = [start, end]</code> that represents the start and end of another interval.</p> |
| 2 | + |
| 3 | +<p>Insert <code>newInterval</code> into <code>intervals</code> such that <code>intervals</code> is still sorted in ascending order by <code>start<sub>i</sub></code> and <code>intervals</code> still does not have any overlapping intervals (merge overlapping intervals if necessary).</p> |
| 4 | + |
| 5 | +<p>Return <code>intervals</code><em> after the insertion</em>.</p> |
| 6 | + |
| 7 | +<p><strong>Note</strong> that you don't need to modify <code>intervals</code> in-place. You can make a new array and return it.</p> |
| 8 | + |
| 9 | +<p> </p> |
| 10 | +<p><strong class="example">Example 1:</strong></p> |
| 11 | + |
| 12 | +<pre><strong>Input:</strong> intervals = [[1,3],[6,9]], newInterval = [2,5] |
| 13 | +<strong>Output:</strong> [[1,5],[6,9]] |
| 14 | +</pre> |
| 15 | + |
| 16 | +<p><strong class="example">Example 2:</strong></p> |
| 17 | + |
| 18 | +<pre><strong>Input:</strong> intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8] |
| 19 | +<strong>Output:</strong> [[1,2],[3,10],[12,16]] |
| 20 | +<strong>Explanation:</strong> Because the new interval [4,8] overlaps with [3,5],[6,7],[8,10]. |
| 21 | +</pre> |
| 22 | + |
| 23 | +<p> </p> |
| 24 | +<p><strong>Constraints:</strong></p> |
| 25 | + |
| 26 | +<ul> |
| 27 | + <li><code>0 <= intervals.length <= 10<sup>4</sup></code></li> |
| 28 | + <li><code>intervals[i].length == 2</code></li> |
| 29 | + <li><code>0 <= start<sub>i</sub> <= end<sub>i</sub> <= 10<sup>5</sup></code></li> |
| 30 | + <li><code>intervals</code> is sorted by <code>start<sub>i</sub></code> in <strong>ascending</strong> order.</li> |
| 31 | + <li><code>newInterval.length == 2</code></li> |
| 32 | + <li><code>0 <= start <= end <= 10<sup>5</sup></code></li> |
| 33 | +</ul> |
| 34 | +</div> |
0 commit comments