Diese Herausforderung beschreibt bereits Dropsort. Allerdings bin ich ein bisschen faul und ich brauche wirklich nur ein bisschen mehr Sortierung für mein Array als zuvor, es muss nicht vollständig sortiert werden .
In Drop Sort löschen wir jedes Element weniger als jedes Element davor. In Lazy Drop Sort löschen wir jedes Element, das kleiner ist als dasjenige, das genau davor steht.
Hier ist ein Beispiel. Betrachten Sie das folgende Array:
8 6 9 9 7 2 3 8 1 3
Markieren wir jedes Element kleiner als das vorhergehende.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Beachten Sie, wie weder 3
markiert wurde, noch die letzte 8
. Sie sind alle größer als das einzelne Element links von ihnen.
Wenn Sie den Algorithmus vervollständigen und die markierten Elemente entfernen, erhalten Sie:
8 9 9 3 8 3
Das sieht im Grunde mehr sortiert aus. Irgendwie. Ich bin faul.
Wie Sie vielleicht bereits herausgefunden haben, besteht Ihre Aufgabe darin, diesen Algorithmus zu implementieren.
Die Eingabe ist ein Array mit mindestens 1 positiven Ganzzahl zwischen 1 und 9, sodass Sie auch eine Ziffernfolge verwenden können.
Das ist Code-Golf , die wenigsten Bytes gewinnen!
Zusätzliche Testfälle:
1
1
1 2 3
1 2 3
5 3 1
5
1 2 3 2 1
1 2 3
1 1 1 9 9 9 1 1 1 9 9 9 1 1 1
1 1 1 9 9 9 1 1 9 9 9 1 1
9 9
9 9
5 2 4 2 3
5 4 3