Menu
CoddyTech

Sort Colors

Du erhältst ein Array nums, in dem jeder Wert 0, 1 oder 2 ist. Stell dir vor, sie stehen für drei Farben, zum Beispiel Rot, Weiß und Blau. Ordne das Array so um, dass zuerst alle 0en, dann alle 1en und danach alle 2en kommen, und gib es zurück.

Löse die Aufgabe ohne eine Sortierfunktion aus einer Bibliothek. Es geht darum, dein Wissen über die Werte zu nutzen.

Funktion

sortColors(nums: integer-array) → integer-array
numsinteger-array
die Farben, jeweils 0, 1 oder 2
Gibt zurückinteger-array
dieselben Werte, zuerst alle 0, dann alle 1 und schließlich alle 2

Einschränkungen

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Jedes nums[i] ist 0, 1 oder 2.
  • Eine Farbe kann fehlen, und das Array kann eine einzelne Farbe enthalten.

Beispiele

Eingabe
nums = [2, 1, 0, 2, 0, 1, 1]
Ausgabe
[0, 0, 1, 1, 1, 2, 2]
Erklärung
Das Array enthält zwei 0en, drei 1en und zwei 2en, also entspricht das Ergebnis genau dem: zwei 0en, dann drei 1en, dann zwei 2en.

lock icon+17 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Was würdest du ändern, wenn es k Farben statt drei gäbe und k viel kleiner als die Länge des Arrays wäre?

Code zurücksetzen
def sortColors(nums):
    # Schreibe hier den Code
Testfälle

Fall 1

Fall 2

Fall 3

Eingabe

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

Erwartet

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