Эта проблема уже описывает дропсорт. Тем не менее, я немного ленив, и мне действительно нужно, чтобы мой массив был немного более отсортирован, чем раньше, его не нужно сортировать полностью .
В Drop Sort мы отбрасываем каждый элемент меньше, чем любой элемент перед ним. В Lazy Drop Sort мы отбрасываем каждый элемент меньше, чем строго предшествующий ему.
Вот пример. Рассмотрим следующий массив:
8 6 9 9 7 2 3 8 1 3
Давайте отметим каждый элемент меньше, чем предыдущий.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Обратите внимание, как ни 3
было отмечено, ни последний 8
. Все они больше, чем один элемент слева от них.
Завершив алгоритм, удалив отмеченные элементы, получим:
8 9 9 3 8 3
Это в основном выглядит более сортированным. Своего рода. Мне лень.
Ваша задача, как вы, возможно, уже поняли, состоит в том, чтобы реализовать этот алгоритм.
Ввод - это массив не менее 1 положительного целого числа от 1 до 9, поэтому вы можете также взять строку цифр.
Это код-гольф , побеждает меньше байтов!
Дополнительные тестовые случаи:
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