Saltar al contenido

Parejas que suman

Enunciado

Escribe una función que reciba una lista de números y un objetivo, y regrese cuántas parejas de la lista suman ese objetivo.

Con 2, 6, 4, 8 y 4 y el objetivo 10 la respuesta es 3: el 2 con el 8, y el 6 con cada uno de los dos 4.

Las reglas: una pareja son dos números en posiciones distintas, así que ninguno se junta consigo mismo; y el 2 con el 8 es la misma pareja que el 8 con el 2, así que se cuenta una sola vez.

Ojo con los repetidos, porque las parejas se cuentan por posición y no por valor: en una lista de cuatro 1 con objetivo 2 hay 6 parejas, aunque en todas se sumen los mismos números.

Si no hay ninguna pareja, o si la lista tiene menos de dos números, la respuesta es 0.

Te basta con comparar cada número con los que vienen después: los de atrás ya se compararon contigo.

Ejemplos

  • El ejemplo

    [2, 6, 4, 8, 4], 10 → 3

  • Con un negativo

    [1, 5, 7, -1, 5], 6 → 3

  • Ninguna pareja

    [2, 3, 9], 20 → 0

Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.

Empiezas con esto

Python

def total_parejas(lista, meta):
    pass

JavaScript

function totalParejas(lista, meta) {
}
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 →