Il existe un "algorithme de tri", parfois appelé tri de Staline, dans lequel, pour trier une liste, il suffit de supprimer des éléments de la liste jusqu'à ce qu'elle soit triée par ordre croissant. Par exemple la liste
[1, 2, 4, 5, 3, 6, 6]
Quand "trié" en utilisant le tri de Staline devient
[1, 2, 4, 5, 6, 6]
Les trois ont été retirés car ils étaient hors d'usage.
Bien évidemment, il existe de nombreuses façons de supprimer des éléments pour trier une liste. Par exemple, toute liste comportant moins de deux éléments doit être triée. En supprimant simplement assez d'éléments à l'aveuglette, nous pouvons toujours trier une liste. Puisque c'est le cas, nous ne nous soucions que du résultat le plus long possible d'un type de Staline.
Votre tâche consistera à prendre une liste d’entiers positifs et à afficher la longueur de la liste triée (croissante) la plus longue à laquelle on puisse parvenir en supprimant des éléments de la liste originale. C'est trouver la longueur de la plus longue sous-liste triée (éventuellement non contiguë).
Les listes triées peuvent avoir le même élément plusieurs fois de suite. Vous n'avez pas besoin de prendre en charge la liste vide à moins que votre programme lui-même ne soit vide.
Notation
Votre réponse sera notée en fonction de la longueur de son propre tri le plus long possible de Staline. Les programmes seront interprétés comme une séquence d'octets plutôt que de caractères, et leur ordre sera celui naturel qui se produit en interprétant les octets sous forme de nombres. Les scores les plus bas sont meilleurs.
Ce n'est pas du code-golf
Voici un outil soigné pour vous aider à noter vos réponses.
Cas de test
[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
la source
Réponses:
Python 2 , longueur
1412109La sortie s'effectue via le code de sortie.
Essayez-le en ligne!
Comment ça marche
À tout moment, le tableauL garde la trace des sous- tableaux triés les plus longs rencontrés jusqu'à présent; L [ a - 1 ] est la longueur du plus long qui se termine par une .
Initialement, nous n’avons pas traité d’éléments de tableau.L est donc entièrement composé de zéros.
la source
Wolfram Language (Mathematica) , score 9
Essayez-le en ligne!
la source
Perl 6 , score 9
Essayez-le en ligne!
la source
Haskell , Score
87, 48 octetsEssayez-le en ligne!
La plus longue sous-liste triée est
la source
Gelée , longueur
42Essayez-le en ligne!
Octets dans la page de code de Jelly
Comment ça marche
la source
Pyth, score
32 (7octets)A enregistré un point grâce à Anders Kaseorg.
Essayez-le ici
Explication
la source
leSI#y
scores 2.Stax , 4 stales de longueur maximale
Exécuter et déboguer
Cela fonctionne comme ça.
la source
R , Score
1511,7262 octetsEssayez-le en ligne!
Ports Dennis 'Python répondent à R.
la source
Brachylog , longueur 2 (4 octets)
Essayez-le en ligne!
Une réponse qui permet d’être aussi concise en n’étant pas beaucoup plus courte.
(
08 03 80 6C
dans la page de code de Brachylog)la source
►LSnmOṖ
Husk mais son score (pour sa longueur au moins) est trop mauvais pour la peine de poster ...