Top 150 InterviewЛегко

Минимальный интервал для включения каждого запроса ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для проблемы «Минимальный интервал для включения каждого запроса». ---ПИСЕП--- Вам дан двумерный целочисленный массив интервалов, где интервалы[i] = [left_i, right_i] описывают i-й интервал, начиная с left_i и заканчивая right_i (включительно). Размер интервала определяется как right_i — left_i + 1. Вам также предоставляются запросы целочисленного массива. Ответом на j-й запрос является размер наименьшего интервала i такого, что left_i <= query[j] <= right_i. Если такого интервала не существует, ответ – -1. Возвращает массив, содержащий ответы на запросы. Напишите функцию __PYCODE_0__. ---ПИСЕП--- 150 лучших интервью ---ПИСЕП--- Интервалы ---ПИСЕП--- Проблема «Минимальный интервал для включения каждого запроса» является ключевой проблемой в разделе «Интервалы». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для минимального интервала включения каждого запроса. ---ПИСЕП--- Внимательно прочитайте условие задачи «Минимальный интервал для включения каждого запроса». ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс. ---ПИСЕП--- Очистите код для производственных стандартов. ---ПИСЕП--- Пустые входные структуры ---ПИСЕП--- Одноэлементные входы ---ПИСЕП--- Большие числовые границы ---ПИСЕП--- Объясните логику вашего интервального подхода. ---ПИСЕП--- Обсудите крайние случаи, такие как нулевые или пустые входные данные. ---ПИСЕП--- Применяются свойства задачи «Стандартные интервалы». ---ПИСЕП--- Рассмотрите возможность использования структур данных, специфичных для интервалов, таких как наборы или кучи. ---ПИСЕП--- Единый номер ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для решения проблемы «Один номер». ---ПИСЕП--- Учитывая непустой массив целых чисел nums, каждый элемент появляется дважды, кроме одного. Найдите этого единственного. Вы должны реализовать решение с линейной сложностью времени выполнения и использовать только постоянное дополнительное пространство. Напишите функцию __PYCODE_0__. ---ПИСЕП--- 150 лучших интервью ---ПИСЕП--- Битовые манипуляции ---ПИСЕП--- Проблема «одного числа» является ключевой задачей в разделе «Битовые манипуляции». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для одного номера. ---ПИСЕП--- Внимательно прочитайте условие задачи для Single Number. ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс.

Detailed guide and Python implementation for the 'Minimum Interval to Include Each Query' problem.

Постановка задачи

Легко

You are given a 2D integer array intervals, where intervals[i] = [left_i, right_i] describes the ith interval starting at left_i and ending at right_i (inclusive). The size of an interval is defined as right_i - left_i + 1. You are also given an integer array queries. The answer to the jth query is the size of the smallest interval i such that left_i <= queries[j] <= right_i. If no such interval exists, the answer is -1.

Return an array containing the answers to the queries.

Write a function minInterval(intervals: List[List[int]], queries: List[int]) -> List[int].

Ограничения
  • 1 <= len(intervals) <= 10^5
  • 1 <= len(queries) <= 10^5
  • intervals[i].length == 2
  • 1 <= left_i <= right_i <= 10^7
  • 1 <= queries[j] <= 10^7

Примеры

Example 1
Input
intervals = [[1,4],[2,4],[3,6],[4,4]], queries = [2,3,4,5]
Output
[3,3,1,4]
Explanation

Smallest interval containing 2 is [2,4] (size 3). For 3 is [2,4] (size 3). For 4 is [4,4] (size 1). For 5 is [3,6] (size 4).

Example 2
Input
intervals = [[2,3],[2,5],[1,8],[20,25]], queries = [2,19,5,22]
Output
[2,-1,4,6]
Explanation

For 2: [2,3] (size 2). For 19: none (-1). For 5: [2,5] (size 4). For 22: [20,25] (size 6).

Need a Hint?
Consider using Intervals-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Генераторы Python

Узнайте, как использовать генераторы Python и операторы доходности для обработки огромных наборов данных с минимальным потреблением памяти. Главные выражения-генераторы.

Посмотреть ресурс
Практическое руководство

Как преобразовать строку в Int в Python

Узнайте, как преобразовать строку в целое число в Python с помощью функции int(). Безопасно обрабатывайте ошибки и преобразуйте числа из двоичного, восьмеричного или шестнадцатеричного формата.

Посмотреть ресурс
Шпаргалка

Памятка по операторам Python

Освойте арифметические операции, операции сравнения, логические, побитовые операторы, операторы присваивания и идентификации в Python.

Посмотреть ресурс
Сравнение языков

Декораторы Python и шаблоны проектирования декораторов: ключевые различия

Сравните декораторы Python и классический шаблон проектирования декораторов. Поймите разницу между переносом функций во время определения и динамической композицией объектов во время выполнения с помощью исполняемого кода.

Посмотреть ресурс