Menu
CoddyTech

Sort Colors

Ti viene fornito un array nums in cui ogni valore è 0, 1 o 2: tre colori, come rosso, bianco e blu. Riordina l’array in modo che tutti gli 0 vengano prima, poi tutti gli 1 e infine tutti i 2, quindi restituiscilo. Risolvi il problema senza usare una funzione di ordinamento di una libreria.

Funzione

sortColors(nums: integer-array) → integer-array
numsinteger-array
i colori, ciascuno 0, 1 o 2
Restituisceinteger-array
gli stessi valori con prima tutti gli 0, poi tutti gli 1 e infine tutti i 2

Vincoli

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Ogni nums[i] è 0, 1 o 2.
  • Potrebbe mancare un colore e l'array potrebbe contenerne uno solo.

Esempi

Input
nums = [2, 1, 0, 2, 0, 1, 1]
Output
[0, 0, 1, 1, 1, 2, 2]
Spiegazione
L'array contiene due 0, tre 1 e due 2, quindi il risultato è esattamente questo: due 0, poi tre 1 e infine due 2.
challenge icon

Per approfondire

Che cosa cambieresti se ci fossero k colori invece di tre, con k molto più piccolo della lunghezza dell’array?

Ripristina il codice
def sortColors(nums):
    # Scrivi il codice qui

Test #1

Test #2

Test #3

Argomento

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

Output atteso

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