|Reorganizar string sin caracteres adyacentes repetidosDifícil
Ejercicio00:00

¿Quieres un reto mayor?

Resuelve en 15:00

info

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

Reorganizar string sin caracteres adyacentes repetidos

Difícil50 pts·Algoritmos

Enunciado

Reorganizar string sin caracteres adyacentes repetidos

Dado un string s, reorganiza sus caracteres de manera que ningún dos caracteres adyacentes sean iguales.

Retorna el string reorganizado. Si es imposible reorganizarlo, retorna un string vacío "".

Estrategia recomendada

Utiliza un max-heap (cola de prioridad máxima) basado en la frecuencia de cada carácter. En cada paso, extrae los dos caracteres con mayor frecuencia, agrégalos al resultado y reingrésalos con su frecuencia reducida.

Un reordenamiento es imposible cuando la frecuencia de algún carácter es mayor que ⌈n/2⌉, donde n es la longitud del string.

Ejemplos

reorganizeString("aab")   // "aba"
reorganizeString("aaab")  // ""
reorganizeString("aabb")  // "abab" o "baba"
reorganizeString("vvvlo") // "vlvov" o similar

Restricciones

  • 1 <= s.length <= 500
  • s contiene solo letras minúsculas del alfabeto inglés.
  • El orden de los caracteres en el resultado puede variar siempre que no haya adyacentes repetidos.
  • Si existen múltiples respuestas válidas, retorna cualquiera de ellas.
Restriccionesexpand_more
  • Dificultad: Difícil
  • Completa todos los test cases para obtener los 50 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
Reorganizar string sin caracteres adyacentes repetidos — Difícil | Coding Challenges · Coding Challenges