[LeetCode]436. Find Right Interval

    xiaoxiao2021-03-25  124

    https://leetcode.com/problems/find-right-interval/?tab=Description

    给出一组区间,找当前区间右边区间在数组中的位置。

    用TreeMap,放进去的是start以及该interval所在位置,找end的ceiling,将所在位置赋值非对应的res

    public class Solution { public int[] findRightInterval(Interval[] intervals) { int[] res = new int[intervals.length]; TreeMap<Integer, Integer> map = new TreeMap(); for (int i = 0; i < intervals.length; i++) { map.put(intervals[i].start, i); } for (int i = 0; i < intervals.length; i++) { Map.Entry<Integer, Integer> e = map.ceilingEntry(intervals[i].end); res[i] = (e == null ? -1 : e.getValue()); } return res; } }

    转载请注明原文地址: https://ju.6miu.com/read-6473.html

    最新回复(0)