Назад к задачам
Junior — Senior
11

Функция упорядочения маршрутов билетов

Компании, где спрашивали:

OZONOZON
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дан массив tickets, содержащий набор несвязанных билетов. Каждый билет – объект с полями from (откуда) и to (куда). Требуется написать функцию sortTickets(tickets), которая переставит элементы массива так, чтобы получилась последовательность перемещений путешественника от начального города до конечного.

Условия задачи:

  • Гарантируется, что из всех билетов образуется один непрерывный путь без замыканий.
  • Алгоритм должен работать за линейное время O(N).
  • Ограничения по дополнительной памяти отсутствуют.

Результатом работы функции должен стать массив билетов, отсортированный в порядке следования маршрута.

const tickets = [
  { from: 'Калининград', to: 'Челябинск' },
  { from: 'Москва', to: 'Калининград' },
  { from: 'Пятигорск', to: 'Краснодар' },
  { from: 'Челябинск', to: 'Астана' },
  { from: 'Краснодар', to: 'Москва' },
];