Parejas que suman
- O(n²) · Muy difícil
- Plan completo
- Python
- JavaScript
- listas
- ciclos
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):
passJavaScript
function totalParejas(lista, meta) {
}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.