Saltar al contenido

La señal que vuelve

Enunciado

Desde la estación de Monte Vela, el radiotelescopio anota una señal por hora, como un código entero, en el orden en que llegan. Los astrónomos buscan el código que volvió después de más tiempo.

Escribe una función que reciba la lista de códigos (enteros, puede venir vacía) y regrese, como entero, la mayor separación entre dos registros con el mismo código: la posición del de después menos la del de antes. Si un código aparece tres veces o más, se mide de la primera vez a la última. Un registro no hace pareja consigo mismo: si ningún código se repite, o la lista está vacía, regresas 0.

Con [7, 3, 9, 3, 7, 5, 3]: el 7 está en las posiciones 0 y 4, y se separa 4. El 3 está en 1, 3 y 6, y de la 1 a la 6 van 5. Regresas 5.

Ejemplos

  • El ejemplo

    [7, 3, 9, 3, 7, 5, 3] → 5

  • Dos seguidas

    [4, 4] → 1

  • Nada se repite

    [1, 2, 3] → 0

  • Tres apariciones

    [8, 1, 2, 8, 3, 8] → 5

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def mayor_regreso(codigos):
    pass

JavaScript

function mayorRegreso(codigos) {
}
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 →