Los caballos del kan
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- comparaciones
- ciclos
- listas
Enunciado
Por el correo del kan, un mensaje cruza la estepa de posta en posta, y en cada posta el jinete cambia de caballo. Batu, el caballerizo, no gasta forraje en caballos que sobran. Un caballo supera a otro si corre igual o más y aguanta igual o más, y es mejor en al menos una de las dos; el caballo superado se queda en el corral.
Escribe una función que reciba velocidad y aguante, dos listas de enteros del mismo largo: el caballo i tiene velocidad[i] y aguante[i] (pueden venir vacías). Regresa un entero: cuántos caballos no son superados por ningún otro. Dos caballos idénticos no se superan entre sí; los dos se quedan, salvo que un tercero los supere.
Con velocidad [5, 3, 4, 2] y aguante [1, 4, 3, 2], el caballo 3, con (2, 2), queda superado por el 2, con (4, 3), que es mejor en las dos.
Al 2 no lo supera nadie: el 0 no le llega en aguante ni el 1 en velocidad. El 0 es el más veloz y el 1 el que más aguanta, así que tampoco caen. Se quedan 3. Con listas vacías, 0.
Ejemplos
El del ejemplo
[5, 3, 4, 2], [1, 4, 3, 2] → 3
Empata en uno y gana en el otro
[5, 5], [3, 4] → 1
Dos caballos idénticos
[4, 4], [6, 6] → 2
Nadie gana en las dos
[1, 2, 3, 4], [4, 3, 2, 1] → 4
Uno solo supera a todos
[9, 1, 2, 3], [9, 4, 2, 1] → 1
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def sin_rival(velocidad, aguante):
passJavaScript
function sinRival(velocidad, aguante) {
}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²)
- Los caminos por la obrarecursión · rejillas · diccionarios
- Los camiones que pasaronlistas · comparaciones · condicionales
- Los charcos del patiorejillas · recursión · ciclos
- Los códices gemelosciclos · textos · índices
- Los dulces del campamentolistas · ciclos · comparaciones
- Los gritos de la entrenadoraciclos · listas · textos