LC1851 - Minimum Interval to Include Each Query
Problem
Example
Solution
def minInterval(self, intervals: List[List[int]], queries: List[int]) -> List[int]:
intervals.sort()
minHeap = []
res = {}
ret = []
i = 0
for query in sorted(queries):
while i < len(intervals) and intervals[i][0] <= query:
left, right = intervals[i]
heapq.heappush(minHeap, (right - left + 1, right))
i += 1
while minHeap and minHeap[0][1] < query:
heapq.heappop(minHeap)
if minHeap:
res[query] = minHeap[0][0]
else:
res[query] = -1
for query in queries:
ret.append(res[query])
return retLast updated