Solución

@abrahamjlr·4/5/2026TypeScript
solution.tsTypeScript
import heapq

def intervalMinSize(intervals: list[list[int]], queries: list[int]) -> list[int]:
    intervals.sort()
    
    sorted_queries: list[tuple[int, int]] = \
        sorted((q, i) for i, q in enumerate(queries))

    ans: list[int] = [-1] * len(queries)
    min_heap: list[tuple[int, int]] = []

    i : int = 0
    n : int = len(intervals)

    for q_val, q_idx in sorted_queries:
        while i < n and intervals[i][0] <= q_val:
            l : int = intervals[i][0]
            r : int = intervals[i][1]
            size: int = r - ~-l

            heapq.heappush(min_heap, (size, r))

            i += 1

        while min_heap and min_heap[0][1] < q_val:
            heapq.heappop(min_heap)

        if min_heap:
            ans[q_idx] = min_heap[0][0]

    return ans
0respuestas
Respuestas

Aún no hay respuestas

¡Sé el primero en responder!

Escribir un comentario

Recuerda ser amable. Estás comentando la solución de otra persona. Comparte tu perspectiva de forma constructiva y respetuosa.

Debes iniciar sesión para publicar un comentario.