El doblón falso
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- índices
- ciclos
Enunciado
"Uno de estos doblones es falso", gruñe la capitana Morgana frente al cofre. Los buenos pesan todos lo mismo; el falso pesa distinto, a veces más y a veces menos. Nadie te dice cuánto pesa uno bueno.
Escribe una función que reciba la lista de pesos, enteros positivos, y regrese la posición del doblón falso, como entero. Las posiciones empiezan en 0. La lista trae al menos tres doblones y siempre exactamente uno distinto de los demás.
El falso puede estar en cualquier lugar, también en el primero: no des por hecho que el primer doblón es bueno.
Con [12, 12, 10, 12, 12] regresas 2: los buenos pesan 12, y el único que pesa 10 está en la posición 2.
Ejemplos
El del ejemplo
[12, 12, 10, 12, 12] → 2
El falso al final, y más pesado
[15, 15, 15, 15, 17] → 4
Solo tres doblones
[6, 9, 6] → 1
Un cofre largo
[8, 8, 8, 8, 8, 8, 8, 5, 8, 8] → 7
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def doblon_falso(pesos):
passJavaScript
function doblonFalso(pesos) {
}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)
- El estante que se acomodarejillas · textos · índices
- El hechizo del ecotextos · dígitos · ciclos
- El índice arrancadotextos · expresiones regulares · listas
- El inventario al cierrediccionarios · listas · ciclos
- El itinerario del boletodiccionarios · conjuntos · listas
- El kilómetro más rápidolistas · ciclos · índices