Prépa Code Connexion Inscription

Exercices de programmation pour classes préparatoires

← Retour aux exercices

Plus longue sous-séquence croissante en O(n log n)

ocaml ★★★★☆

Écrire une fonction lis_rapide : int array -> int qui renvoie la longueur de la plus longue sous-séquence strictement croissante d'un tableau d'entiers. Une sous-séquence est obtenue en supprimant zéro ou plusieurs éléments du tableau sans changer l'ordre des éléments restants.

Contrainte de complexité : le tableau peut contenir jusqu'à 100 000 éléments. Une solution en O(n²) dépassera la limite de temps sur les tests cachés — votre solution doit être en O(n log n).

Exemples

AppelRésultat attendu
lis_rapide [||] 0
lis_rapide [|10; 9; 2; 5; 3; 7; 101; 18|] 4

Votre code

Connectez-vous pour soumettre du code.