Saltar al contenido

Parejas al revés

Enunciado

Escribe una función que reciba una lista de números y regrese cuántas parejas están al revés de como quedarían si la lista estuviera ordenada de menor a mayor. Una pareja está al revés cuando un número es más grande que otro que aparece después de él.

Con 1, 20, 6, 4 y 5 la respuesta es 5: el 20 es más grande que el 6, que el 4 y que el 5, y el 6 es más grande que el 4 y que el 5.

Los dos extremos te dicen si vas bien: una lista que ya está ordenada de menor a mayor no tiene ninguna pareja al revés, y una ordenada de mayor a menor las tiene todas.

Las reglas: los dos números no tienen que estar pegados, cuenta también los que están lejos. Dos números iguales no están al revés, así que no cuentan. Con una lista vacía o de un solo número no hay pareja que revisar y la respuesta es 0.

Una pista: compara cada número con todos los que vienen después de él y lleva la cuenta.

Ejemplos

  • El ejemplo

    [1, 20, 6, 4, 5] → 5

  • Ya está ordenada

    [1, 2, 3, 4] → 0

  • De mayor a menor

    [4, 3, 2, 1] → 6

  • Uno que se cuela

    [1, 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 parejas_al_reves(datos):
    pass

JavaScript

function parejasAlReves(datos) {
}
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 →