El desafío es escribir la implementación más corta para encontrar la subsecuencia de mayor crecimiento .
Ejemplo : Sea S la secuencia 1 5 7 1 8 4 3 5 [longitud de S = 8]
- Tenemos 1 subsecuencia de longitud 0 [lo consideraremos creciente]
- 6 subsecuencias de longitud 1 {1,5,7,8,4,3} [todas se consideran en aumento]
- (7 * 8) / 2 subsecuencias de longitud 2 [pero eliminaremos los duplicados], las subsecuentes crecientes están en negro intenso.
{ 15,17 , 11, 18,14,13,57 , 51, 58 , 54,53,55,71, 78 , 74,73,75,84,83,85,43, 45,35 }
[tenga en cuenta que solo nos interesan las subsecuencias estrictamente crecientes]
[no puede cambiar el orden de los elementos dentro de la secuencia, por lo que no hay una subsecuencia [37] en la secuencia de ejemplo]
- Tenemos subsecuencias crecientes de longitud 4, que es 1578, pero no hay una subsecuencia de longitud 5, por lo que consideramos la longitud de la subsecuencia creciente más larga = 4.
Entrada :
a 1 a 2 ... a N (La secuencia)
todos los números son enteros positivos menores que 10 3
N <= 1000
Salida :
Un número entero que indica la longitud de la subsecuencia creciente más larga de la secuencia de entrada.
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
Su código debe ejecutarse de manera oportuna, pruebe su código en este caso antes de enviarlo aquí (también el enlace contiene mi solución c ++ 11 de 290 bytes)
Puede tomar la entrada de un archivo / stdin o como un parámetro de función y puede imprimir la salida en un archivo / stdout o simplemente devolver el valor si escribe una función
Tablero de puntuación
- Dennis CJam - 22
- Isaac Pyth - 26
- Howard GolfScript - 35
- orgulloso Haskeller Haskell - 56
- Ray Python 3 - 66
- histocrat Ruby - 67
- DLeh C # - 92
- YosemiteMark Clojure - 94
- faubiguy Python 3 - 113
function f(){...}
) o la función interna (solo ...
)? Si contamos las funciones externas, ¿se permiten funciones anónimas?