El sensor atascado
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
Enunciado
En el laboratorio, un sensor sano cambia de lectura casi cada segundo. Cuando se atasca, repite la misma varias veces seguidas, y la técnica quiere saber cuál fue el valor en el que se quedó trabado más tiempo. Escribe una función que reciba la lista de lecturas (enteros, pueden ser negativos; la lista nunca viene vacía) y regrese el valor de la racha más larga de lecturas iguales seguidas. Regresa el valor, no cuánto duró. Con [4, 7, 7, 7, 2, 2, 7] la racha más larga es la de tres 7: regresas 7. Solo cuentan las lecturas seguidas: en [3, 8, 3, 8, 3, 6, 6] el 3 sale tres veces, pero nunca dos juntas, y gana el 6.
Si dos rachas empatan en largo, gana la que llegó primero. Si ninguna lectura se repite, todas son rachas de 1: regresa la primera.
Ejemplos
El del ejemplo
[4, 7, 7, 7, 2, 2, 7] → 7
El más repetido no es el más seguido
[3, 8, 3, 8, 3, 6, 6, 3] → 6
Una sola lectura
[9] → 9
Ninguna se repite
[4, 1, 8] → 4
Empate, gana la primera
[2, 2, 5, 5] → 2
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def valor_atascado(lecturas):
passJavaScript
function valorAtascado(lecturas) {
}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.