Tor
Sortieren Sie eine Liste von Elementen, um sicherzustellen, dass jedes Element nach den angegebenen Abhängigkeiten aufgelistet wird.
Eingang
Ein Array von Arrays von Ganzzahlen, wobei jede Ganzzahl den auf 0 oder 1 basierenden Index eines anderen Elements angibt, nach dem dieses Element kommen muss. Die Eingabe kann ein Array oder eine Zeichenfolge oder alles andere sein, was für den Menschen lesbar ist.
Zum Beispiel eine 0-basierte Eingabe:
[
[ 2 ], // item 0 comes after item 2
[ 0, 3 ], // item 1 comes after item 0 and 3
[ ], // item 2 comes anywhere
[ 2 ] // item 3 comes after item 2
]
Angenommen, es gibt keine zirkulären Abhängigkeiten, es gibt immer mindestens eine gültige Reihenfolge.
Ausgabe
Die Zahlen in Abhängigkeitsreihenfolge. Eine mehrdeutige Reihenfolge muss nicht deterministisch sein. Die Ausgabe kann ein Array oder ein Text oder etwas anderes sein, das von Menschen gelesen werden kann.
In der Ausgabe sollte nur eine Bestellung angegeben werden, auch wenn es mehrere gültige Bestellungen gibt.
Mögliche Ausgaben für die obigen Eingaben sind:
[ 2, 3, 0, 1 ]
[ 2, 0, 3, 1 ]
Wertung
Eine Funktion oder ein Programm, das dies in der geringsten Anzahl von Bytes abschließt, gewinnt den Ruhm der Akzeptanz. Die Frist ist in 6 Tagen.