Class Solution
-
- All Implemented Interfaces:
public final class Solution3414 - Maximum Score of Non-overlapping Intervals.
Hard
You are given a 2D integer array
intervals, where <code>intervalsi = l<sub>i</sub>, r<sub>i</sub>, weight<sub>i</sub></code>. Intervalistarts at position <code>l<sub>i</sub></code> and ends at <code>r<sub>i</sub></code>, and has a weight of <code>weight<sub>i</sub></code>. You can choose up to 4 non-overlapping intervals. The score of the chosen intervals is defined as the total sum of their weights.Return the lexicographically smallest array of at most 4 indices from
intervalswith maximum score, representing your choice of non-overlapping intervals.Two intervals are said to be non-overlapping if they do not share any points. In particular, intervals sharing a left or right boundary are considered overlapping.
An array
ais lexicographically smaller than an arraybif in the first position whereaandbdiffer, arrayahas an element that is less than the corresponding element inb. If the firstmin(a.length, b.length)elements do not differ, then the shorter array is the lexicographically smaller one.Example 1:
Input: intervals = [1,3,2,4,5,2,1,5,5,6,9,3,6,7,1,8,9,1]
Output: 2,3
Explanation:
You can choose the intervals with indices 2, and 3 with respective weights of 5, and 3.
Example 2:
Input: intervals = [5,8,1,6,7,7,4,7,3,9,10,6,7,8,2,11,14,3,3,5,5]
Output: 1,3,5,6
Explanation:
You can choose the intervals with indices 1, 3, 5, and 6 with respective weights of 7, 6, 3, and 5.
Constraints:
<code>1 <= intevals.length <= 5 * 10<sup>4</sup></code>
intervals[i].length == 3<code>intervalsi = l<sub>i</sub>, r<sub>i</sub>, weight<sub>i</sub></code>
<code>1 <= l<sub>i</sub><= r<sub>i</sub><= 10<sup>9</sup></code>
<code>1 <= weight<sub>i</sub><= 10<sup>9</sup></code>