Middle+
/* We hebben een set tickets in de volgende vorm: [ { from: 'Londen', to: 'Moskou' }, { from: 'NY', to: 'Londen' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ... ] Van deze tickets kan één ononderbroken route worden gebouwd. Er zijn geen lussen of herhalingen in de route. Je moet een programma schrijven dat dezezelfde ticketobjecten in de volgorde van de route teruggeeft. */ function getRoute(tickets = [], startCity) { // jouw code hier } console.clear() console.log(getRoute([ { from: 'Londen', to: 'Moskou' }, { from: 'NY', to: 'Londen' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ], 'NY')); /* [ { from: 'NY', to: 'Londen' }, { from: 'Londen', to: 'Moskou' }, { from: 'Moskou', to: 'Sint-Petersburg' }, ] */
sobes.tech AI
Antwoord van AI
Для восстановления маршрута из набора билетов можно построить словарь (Map) от города отправления к билету, а затем последовательно идти от стартового города, выбирая следующий билет по ключу.
Пример решения на JavaScript:
function getRoute(tickets = [], startCity) {
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;
}
console.log(getRoute([
{ from: 'London', to: 'Moscow' },
{ from: 'NY', to: 'London' },
{ from: 'Moscow', to: 'SPb' },
], 'NY'));
Этот код создаёт карту для быстрого поиска билета по городу отправления и затем строит маршрут, начиная с startCity, пока не дойдёт до конечного пункта.