All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g0401_0500.s0436_find_right_interval.readme.md Maven / Gradle / Ivy

There is a newer version: 1.24
Show newest version
436\. Find Right Interval

Medium

You are given an array of `intervals`, where intervals[i] = [starti, endi] and each starti is **unique**.

The **right interval** for an interval `i` is an interval `j` such that startj >= endi and startj is **minimized**.

Return _an array of **right interval** indices for each interval `i`_. If no **right interval** exists for interval `i`, then put `-1` at index `i`.

**Example 1:**

**Input:** intervals = [[1,2]]

**Output:** [-1]

**Explanation:** There is only one interval in the collection, so it outputs -1. 

**Example 2:**

**Input:** intervals = [[3,4],[2,3],[1,2]]

**Output:** [-1,0,1]

**Explanation:**

There is no right interval for [3,4].

The right interval for [2,3] is [3,4] since start0 = 3 is the smallest start that is >= end1 = 3.

The right interval for [1,2] is [2,3] since start1 = 2 is the smallest start that is >= end2 = 2.

**Example 3:**

**Input:** intervals = [[1,4],[2,3],[3,4]]

**Output:** [-1,2,-1]

**Explanation:**

There is no right interval for [1,4] and [3,4].

The right interval for [2,3] is [3,4] since start2 = 3 is the smallest start that is >= end1 = 3.

**Constraints:**

*   1 <= intervals.length <= 2 * 104
*   `intervals[i].length == 2`
*   -106 <= starti <= endi <= 106
*   The start point of each interval is **unique**.




© 2015 - 2024 Weber Informatics LLC | Privacy Policy