To wyzwanie już opisuje droport. Jednak jestem trochę leniwy i naprawdę potrzebuję tylko mojej tablicy, aby była nieco bardziej posortowana niż wcześniej, nie trzeba jej sortować do końca .
W opcji Sortuj upuszczamy każdy element mniej niż jakikolwiek element przed nim. W Lazy Drop Sort upuszczamy każdy element mniej niż dokładnie go poprzedzający .
Oto przykład. Rozważ następującą tablicę:
8 6 9 9 7 2 3 8 1 3
Oznaczmy każdy element mniej niż poprzedni.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Zwróć uwagę, że ani nie 3
został oznaczony, ani ostatni 8
. Wszystkie są większe niż pojedynczy element po lewej stronie.
Po ukończeniu algorytmu, usunięciu zaznaczonych elementów otrzymujemy:
8 9 9 3 8 3
To w zasadzie wygląda na bardziej uporządkowane. Trochę Jestem leniwy.
Twoim zadaniem, jak mogłeś już wywnioskować, jest wdrożenie tego algorytmu.
Dane wejściowe to tablica co najmniej 1 dodatniej liczby całkowitej od 1 do 9, więc możesz również wziąć ciąg cyfr.
To jest golf golfowy , wygrywa najmniej bajtów!
Dodatkowe przypadki testowe:
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