Задача состоит в том, чтобы написать самую короткую реализацию, чтобы найти самую длинную возрастающую подпоследовательность .
Пример : Пусть S будет последовательность 1 5 7 1 8 4 3 5 [длина S = 8]
- У нас есть 1 подпоследовательность длины 0 [будет считать, что она увеличивается]
- 6 подпоследовательностей длиной 1 {1,5,7,8,4,3} [все они считаются возрастающими]
- (7 * 8) / 2 подпоследовательности длины 2 [но мы удалим дубликаты], увеличивающиеся подпоследовательности выделены сильным черным.
{ 15,17 , 11, 18,14,13,57 , 51, 58 , 54,53,55,71, 78 , 74,73,75,84,83,85,43, 45,35 }
[обратите внимание, что нас интересуют только строго увеличивающиеся подпоследовательности]
[вы не можете изменить порядок элементов внутри последовательности, поэтому в последовательности примеров нет подпоследовательности [37]]
- У нас есть увеличивающиеся подпоследовательности длины 4, которая равна 1578, но нет подпоследовательности длины 5, поэтому мы рассматриваем длину самой длинной увеличивающейся подпоследовательности = 4.
Вход :
a 1 a 2 ... a N (последовательность)
все числа натуральные числа меньше 10 3
N <= 1000
Выход :
Одно целое число, обозначающее длину самой длинной увеличивающейся подпоследовательности входной последовательности.
sample input(1)
1 2 4 2 5
sample output(1)
4
sample input(2)
1 5 7 1 8 4 3 5
sample output(2)
4
Ваш код должен выполняться своевременно, пожалуйста, проверьте его в этом случае, прежде чем отправлять его здесь (также ссылка содержит мое 290-байтовое решение c ++ 11)
Вы можете взять входные данные из файла / стандартного ввода или в качестве параметра функции, и вы можете либо распечатать выходные данные в файл / стандартный вывод, либо просто вернуть значение, если вы пишете функцию
Табло
- Деннис CJam - 22
- Исаакг Пиф - 26
- Говард Гольфск - 35
- гордый haskeller Haskell - 56
- Рэй Питон 3 - 66
- гистократ рубин - 67
- DLeh C # - 92
- YosemiteMark Clojure - 94
- фаубигуй питон 3 - 113
function f(){...}) или внутренней функции (просто ...)? Если мы считаем внешние функции, разрешены ли анонимные функции?