Saltar al contenido

La melodía sin notas repetidas

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):
    pass

JavaScript

function tramoSinRepetir(notas) {
}
Resolver este reto

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.

Más retos de O(n²)

Ver todos los retos →