Menu
CoddyTech

Sort Colors

Vous recevez un tableau nums dans lequel chaque valeur est 0, 1 ou 2. Imaginez qu’il s’agit de trois couleurs, par exemple le rouge, le blanc et le bleu. Réorganisez le tableau de sorte que tous les 0 soient au début, puis tous les 1, puis tous les 2, et renvoyez-le.

Résolvez le problème sans utiliser de fonction de tri de bibliothèque. L’objectif est de vous servir de ce que vous savez sur les valeurs.

Fonction

sortColors(nums: integer-array) → integer-array
numsinteger-array
les couleurs, chacune valant 0, 1 ou 2
Renvoieinteger-array
les mêmes valeurs avec d’abord tous les 0, puis tous les 1, puis tous les 2

Contraintes

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Chaque nums[i] est 0, 1 ou 2.
  • Il se peut qu’une couleur manque et que le tableau ne contienne qu’une seule couleur.

Exemples

Entrée
nums = [2, 1, 0, 2, 0, 1, 1]
Sortie
[0, 0, 1, 1, 1, 2, 2]
Explication
Le tableau contient deux 0, trois 1 et deux 2, le résultat est donc exactement celui-ci : deux 0, puis trois 1, puis deux 2.

lock icon+17 tests cachés à la soumission

challenge icon

Pour aller plus loin

Que changerais-tu s’il y avait k couleurs au lieu de trois, avec k beaucoup plus petit que la longueur du tableau ?

Réinitialiser le code
def sortColors(nums):
    # Écrivez le code ici
Cas de test

Cas 1

Cas 2

Cas 3

Entrée

nums = [2, 1, 0, 2, 0, 1, 1]

Attendu

[0, 0, 1, 1, 1, 2, 2]