Существует «алгоритм сортировки», иногда называемый сортировкой Сталина, в котором для сортировки списка вы просто удаляете элементы из списка, пока он не будет отсортирован в порядке возрастания. Например список
[1, 2, 4, 5, 3, 6, 6]
При "сортировке" по сталину сортировка становится
[1, 2, 4, 5, 6, 6]
Три были удалены, потому что это было не в порядке.
Теперь очевидно, что есть много способов удалить элементы для сортировки списка. Например, любой список, содержащий менее двух элементов, должен быть отсортирован, поэтому, просто удалив достаточное количество элементов вслепую, мы всегда можем отсортировать список. Поскольку это так, мы заботимся только о самом длинном из результатов сталинского рода.
Ваша задача состоит в том, чтобы взять список натуральных чисел и вывести длину самого длинного отсортированного (возрастающего) списка, который можно получить, удалив элементы из исходного списка. То есть найдите длину самого длинного отсортированного (возможно, несмежного) подсписка.
Сортированные списки могут содержать один и тот же элемент более одного раза подряд. Вам не нужно поддерживать пустой список, если ваша программа не пуста.
счет
Ваш ответ будет оцениваться по длине самого длинного из возможных сталинских сортов. Программы будут интерпретироваться как последовательность байтов, а не символов, и их порядок будет естественным, который возникает при интерпретации байтов как чисел. Чем ниже баллы, тем лучше.
Это не код-гольф
Вот отличный инструмент, который поможет вам оценить ваши ответы.
Контрольные примеры
[1, 2, 4, 5, 3, 6, 6] -> 6
[19, 2] -> 1
[3, 3, 4, 3] -> 3
[10] -> 1
[1, 2, 4, 9] -> 4
[1, 90, 2, 3, 4, 5] -> 5
[1, 90, 91, 2, 3, 4, 5] -> 5
источник
Ответы:
Python 2 , длина
1412109Выход через код выхода.
Попробуйте онлайн!
Как это работает
Во всех случаях массивL отслеживает самые длинные отсортированные подмассивы, встречающиеся до сих пор; L [ a - 1 ] - длина самого длинного, который заканчивается на a .
Первоначально мы не обрабатывали элементы массива, поэтомуL полностью состоит из нулей.
источник
Wolfram Language (Mathematica) , оценка 9
Попробуйте онлайн!
источник
Perl 6 , оценка 9
Попробуйте онлайн!
источник
Haskell , оценка
87, 48 байтПопробуйте онлайн!
Самый длинный отсортированный подсписок
источник
Желе , длина
42Попробуйте онлайн!
Байт в кодовой странице желе
Как это работает
источник
Pyth, оценка
32 (7байт)Спасли очко благодаря Андерсу Касерегу.
Попробуй здесь
объяснение
источник
leSI#y
2 баллаStax , 4 максимальная длина сталинского сорта
Запустите и отладьте его
Это работает так.
источник
R , Оценка
1511,7262 байтаПопробуйте онлайн!
Порты Денниса Python ответ Р.
источник
Брахилог , длина 2 (4 байта)
Попробуйте онлайн!
Ответ, который компенсирует то, что он не такой уж и короткий.
(
08 03 80 6C
в кодовой странице брахилога)источник
►LSnmOṖ
для Husk, но его оценка (по крайней мере для его длины) слишком плоха, чтобы беспокоиться о публикации ...