Menu
CoddyTech

Sort Colors

Otrzymujesz tablicę nums, w której każda wartość wynosi 0, 1 lub 2. Pomyśl o nich jak o trzech kolorach, na przykład czerwonym, białym i niebieskim. Przestaw elementy tablicy tak, aby najpierw znalazły się wszystkie 0, potem wszystkie 1, a na końcu wszystkie 2, i zwróć ją.

Rozwiąż to bez używania bibliotecznej funkcji sortującej. Chodzi o to, aby wykorzystać wiedzę o wartościach.

Funkcja

sortColors(nums: integer-array) → integer-array
numsinteger-array
kolory, każdy z nich ma wartość 0, 1 lub 2
Zwracainteger-array
te same wartości, najpierw wszystkie 0, potem wszystkie 1, a następnie wszystkie 2

Ograniczenia

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Każde nums[i] ma wartość 0, 1 lub 2.
  • Może brakować jednego koloru, a tablica może zawierać tylko jeden kolor.

Przykłady

Wejście
nums = [2, 1, 0, 2, 0, 1, 1]
Wyjście
[0, 0, 1, 1, 1, 2, 2]
Wyjaśnienie
Tablica zawiera dwie 0, trzy 1 i dwie 2, więc wynik jest dokładnie taki: dwie 0, potem trzy 1, a następnie dwie 2.

lock icon+17 ukrytych testów przy wysłaniu

challenge icon

Pytanie dodatkowe

Co byś zmienił, gdyby było k kolorów zamiast trzech, przy czym k byłoby znacznie mniejsze niż długość tablicy?

Zresetuj kod
def sortColors(nums):
    # Napisz kod tutaj
Przypadki testowe

Przypadek 1

Przypadek 2

Przypadek 3

Wejście

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

Oczekiwane

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