Menu
CoddyTech

Sort Colors

Você recebe um array nums em que cada valor é 0, 1 ou 2. Pense neles como três cores, por exemplo, vermelho, branco e azul. Reorganize o array para que todos os 0s venham primeiro, depois todos os 1s e, em seguida, todos os 2s, e retorne-o.

Resolva sem usar uma função de ordenação de biblioteca. A ideia é usar o que você sabe sobre os valores.

Função

sortColors(nums: integer-array) → integer-array
numsinteger-array
as cores, cada uma 0, 1 ou 2
Retornainteger-array
os mesmos valores, primeiro todos os 0, depois todos os 1 e, em seguida, todos os 2

Restrições

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Cada nums[i] é 0, 1 ou 2.
  • Uma cor pode estar faltando, e o array pode conter uma única cor.

Exemplos

Entrada
nums = [2, 1, 0, 2, 0, 1, 1]
Saída
[0, 0, 1, 1, 1, 2, 2]
Explicação
O array contém dois 0s, três 1s e dois 2s, então o resultado é exatamente esse: dois 0s, depois três 1s e, por fim, dois 2s.

lock icon+17 testes ocultos ao enviar

challenge icon

Para ir além

O que você mudaria se houvesse k cores em vez de três, com k muito menor que o comprimento do array?

Redefinir código
def sortColors(nums):
    # Escreva o código aqui
Casos de teste

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

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