Напишите функцию getFreeTimes, которая возвращает свободные слоты из initialSlots, исключая забронированные слоты из массива бронирований.

Для слотов с одинаковым представлением создайте Set забронированных значений и отфильтруйте initialSlots.

Короткий ответ

Что ответить на собеседовании

Для слотов с одинаковым представлением создайте Set забронированных значений и отфильтруйте initialSlots.

Подробный разбор

Ответ с пояснениями

Для слотов с одинаковым представлением создайте Set забронированных значений и отфильтруйте initialSlots.

Если оба массива содержат строки времени одного формата:

function getFreeTimes(initialSlots, bookings) {
  const busy = new Set(bookings);
  return initialSlots.filter(slot => !busy.has(slot));
}

Сложность O(n + m). Если бронирования — объекты или интервалы, сначала нужен явный ключ либо проверка пересечения; сравнение объектов по ссылке не решит такую задачу.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее