La melodía sin notas repetidas
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- textos
- ciclos
Enunciado
"Quiero un pasaje donde ninguna nota suene dos veces", le pide la directora del coro a Julián. Él tiene la pieza escrita en una sola línea y busca el tramo seguido más largo que cumpla.
Escribe una función que reciba notas, un texto donde cada carácter es una nota, una letra mayúscula de la A a la G (puede venir vacío), y regrese un entero: el largo del tramo seguido más largo en el que ningún carácter se repite. Seguido quiere decir sin saltarse notas.
Con "ABCAD" regresa 4: "ABC" no puede crecer, porque la A ya está, pero "BCAD" sí cabe entero.
La repetida puede estar lejos: en "CDC" el tramo más largo mide 2, no 3. Una sola nota ya es un tramo de largo 1, y el texto vacío da 0.
Ejemplos
El ejemplo
"ABCAD" → 4
Ninguna se repite
"CDEFG" → 5
La repetida no está pegada
"CDC" → 2
La misma nota cuatro veces
"EEEE" → 1
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def tramo_sin_repetir(notas):
passJavaScript
function tramoSinRepetir(notas) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.