Middle
/* We hebben een set tickets in de volgende vorm: [ { from: 'Londen', to: 'Moskou' }, { from: 'NY', to: 'Londen' }, { from: 'Moskou', to: 'Spb' }, ... ] Van deze tickets kan één ononderbroken route worden gebouwd. Er zijn geen lussen of herhalingen in de route. Je moet een functie schrijven die dezezelfde ticketobjecten in de volgorde van de route teruggeeft. */ function getRoute(tickets = [], startCity = 'NY') { // your code here }
sobes.tech AI
Antwoord van AI
Для решения задачи нужно упорядочить билеты так, чтобы каждый следующий билет начинался там, где закончился предыдущий. Поскольку маршрут единственный и непрерывный, можно построить словарь (Map) от города отправления к билету, а затем, начиная с начального города, последовательно брать следующий билет.
Пример решения на JavaScript:
function getRoute(tickets = [], startCity = 'NY') {
const map = new Map();
tickets.forEach(ticket => {
map.set(ticket.from, ticket);
});
const route = [];
let currentCity = startCity;
while (map.has(currentCity)) {
const ticket = map.get(currentCity);
route.push(ticket);
currentCity = ticket.to;
}
return route;
}
// Пример использования:
const tickets = [
{ from: 'London', to: 'Moscow' },
{ from: 'NY', to: 'London' },
{ from: 'Moscow', to: 'Spb' },
];
console.log(getRoute(tickets, 'NY'));
// Выведет билеты в порядке: NY->London, London->Moscow, Moscow->Spb