|Bandera Nacional Holandesa / Segregación RGBDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

Importante: Para que se registre el resultado tienes que iniciar sesión.

work

Este ejercicio fue usado en una prueba técnica de empleo.

Bandera Nacional Holandesa / Segregación RGB

Difícil100 pts·Prueba Técnica

Enunciado

Este ejercicio fue preguntado por Google.

Dada una lista de caracteres que contiene únicamente los valores 'R', 'G' y 'B', ordena los elementos del arreglo de forma que todas las 'R' queden primero, las 'G' en el centro, y las 'B' al final. Solo puedes intercambiar elementos del arreglo. Hazlo en tiempo lineal y en su lugar (in-place).

Por ejemplo, dado el arreglo ['G', 'B', 'R', 'R', 'B', 'R', 'G'], debe convertirse en ['R', 'R', 'R', 'G', 'G', 'B', 'B'].

segregateRGB(['G', 'B', 'R', 'R', 'B', 'R', 'G']) // ['R', 'R', 'R', 'G', 'G', 'B', 'B']

Nota: El algoritmo óptimo corre en O(n) con O(1) espacio extra.

Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 100 puntos.
  • No modificar la línea export al final del archivo.
  • Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.

Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.

Inicia sesión para reaccionar
Inicia sesión para reaccionar