Questa sfida descrive già dropsort. Tuttavia, sono un po 'pigro e ho solo bisogno che il mio array sia un po' più ordinato di prima, non ha bisogno di essere ordinato fino in fondo .
In Drop Sort, eliminiamo ogni elemento meno di qualsiasi elemento prima di esso. In Lazy Drop Sort, eliminiamo ogni elemento meno di quello strettamente precedente .
Ecco un esempio Considera il seguente array:
8 6 9 9 7 2 3 8 1 3
Contrassegniamo ogni elemento meno di quello precedente.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Nota come né è 3
stato contrassegnato, né l'ultimo 8
. Sono tutti più grandi del singolo elemento alla loro sinistra.
Completando l'algoritmo, rimuovendo gli elementi contrassegnati, otteniamo:
8 9 9 3 8 3
Che fondamentalmente sembra più ordinato. Tipo. Sono pigro.
Il tuo compito, come avrai già dedotto, è implementare questo algoritmo.
L'input è un array di almeno 1 numero intero positivo compreso tra 1 e 9, quindi puoi prendere anche una stringa di cifre.
Questo è code-golf , vince meno byte!
Casi di prova aggiuntivi:
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