La señal que vuelve
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- listas
- índices
- ciclos
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):
passJavaScript
function mayorRegreso(codigos) {
}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.