Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- class Solution {
- record IntervalWithOriginalIndex(int start, int end, int originalIndex) {
- }
- public static int[] findRightInterval(int[][] intervals) {
- var sortedSet = new TreeMap<Integer, IntervalWithOriginalIndex>();
- for (int i = 0; i < intervals.length; i++) {
- int[] interval = intervals[i];
- sortedSet.put(interval[0], new IntervalWithOriginalIndex(interval[0], interval[1], i));
- }
- int[] result = new int[intervals.length];
- for (int i = 0; i < intervals.length; i++) {
- final Map.Entry<Integer, IntervalWithOriginalIndex> ceiling = sortedSet.ceilingEntry(intervals[i][1]);
- result[i] = ceiling != null ? ceiling.getValue().originalIndex : -1;
- }
- return result;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment