Menu
CoddyTech

Sort Colors

Recibes un array nums en el que cada valor es 0, 1 o 2. Piensa en ellos como tres colores, por ejemplo, rojo, blanco y azul. Reordena el array para que primero vayan todos los 0, después todos los 1 y luego todos los 2, y devuélvelo.

Resuélvelo sin una función de ordenamiento de una biblioteca. La idea es usar lo que sabes sobre los valores.

Función

sortColors(nums: integer-array) → integer-array
numsinteger-array
los colores, cada uno 0, 1 o 2
Devuelveinteger-array
los mismos valores con cada 0 primero, después cada 1 y después cada 2

Restricciones

  • 1 ≤ nums.length ≤ 1.5 × 104
  • Cada nums[i] es 0, 1 o 2.
  • Puede faltar un color y el arreglo puede contener un solo color.

Ejemplos

Entrada
nums = [2, 1, 0, 2, 0, 1, 1]
Salida
[0, 0, 1, 1, 1, 2, 2]
Explicación
El arreglo contiene dos 0, tres 1 y dos 2, así que el resultado es exactamente ese: dos 0, después tres 1 y después dos 2.

lock icon+17 pruebas ocultas al enviar

challenge icon

Para ir más allá

¿Qué cambiarías si hubiera k colores en lugar de tres, con k mucho menor que la longitud del arreglo?

Restablecer código
def sortColors(nums):
    # Escribe el código aquí
Casos de prueba

Caso 1

Caso 2

Caso 3

Entrada

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

Esperado

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