436. Find Right Interval

2016-12-22  本文已影响0人  阿团相信梦想都能实现
# Definition for an interval.
# class Interval(object):
#     def __init__(self, s=0, e=0):
#         self.start = s
#         self.end = e

class Solution(object):
    def findRightInterval(self, intervals):
        """
        :type intervals: List[Interval]
        :rtype: List[int]
        """
        l=sorted((interval.start,pos) for pos,interval in enumerate(intervals))
        res=[]
        for i in intervals:
            #locate the first interval.start that's bigger than i.end 
            r=bisect.bisect(l,(i.end,))
            
            res.append(l[r][1] if r<len(intervals) else -1)
        return res
上一篇 下一篇

猜你喜欢

热点阅读