Package g0001_0100.s0057_insert_interval
Class Solution
java.lang.Object
g0001_0100.s0057_insert_interval.Solution
57 - Insert Interval.<p>Medium</p>
<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>
<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>
<p>Return <code>intervals</code> <em>after the insertion</em>.</p>
<p><strong>Example 1:</strong></p>
<p><strong>Input:</strong> intervals = [[1,3],[6,9]], newInterval = [2,5]</p>
<p><strong>Output:</strong> [[1,5],[6,9]]</p>
<p><strong>Example 2:</strong></p>
<p><strong>Input:</strong> intervals = [[1,2],[3,5],[6,7],[8,10],[12,16]], newInterval = [4,8]</p>
<p><strong>Output:</strong> [[1,2],[3,10],[12,16]]</p>
<p><strong>Explanation:</strong> Because the new interval <code>[4,8]</code> overlaps with <code>[3,5],[6,7],[8,10]</code>.</p>
<p><strong>Example 3:</strong></p>
<p><strong>Input:</strong> intervals = [], newInterval = [5,7]</p>
<p><strong>Output:</strong> <a href="5,7">5,7</a></p>
<p><strong>Example 4:</strong></p>
<p><strong>Input:</strong> intervals = [[1,5]], newInterval = [2,3]</p>
<p><strong>Output:</strong> <a href="1,5">1,5</a></p>
<p><strong>Example 5:</strong></p>
<p><strong>Input:</strong> intervals = [[1,5]], newInterval = [2,7]</p>
<p><strong>Output:</strong> <a href="1,7">1,7</a></p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>0 <= intervals.length <= 10<sup>4</sup></code></li>
<li><code>intervals[i].length == 2</code></li>
<li><code>0 <= start<sub>i</sub> <= end<sub>i</sub> <= 10<sup>5</sup></code></li>
<li><code>intervals</code> is sorted by <code>start<sub>i</sub></code> in <strong>ascending</strong> order.</li>
<li><code>newInterval.length == 2</code></li>
<li><code>0 <= start <= end <= 10<sup>5</sup></code></li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
insert
public int[][] insert(int[][] intervals, int[] newInterval)
-