¿Quieres un reto mayor?
Resuelve en 15:00
Importante: Para que se registre el resultado tienes que iniciar sesión.
Reorganizar string sin caracteres adyacentes repetidos
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 <= 500scontiene 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
exportal 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.