Programa Javascript para contar pares con suma dada

Dada una array de enteros y un número ‘suma’, encuentra el número de pares de enteros en la array cuya suma es igual a ‘suma’.

Ejemplos:  

Input  :  arr[] = {1, 5, 7, -1}, 
          sum = 6
Output :  2
Pairs with sum 6 are (1, 5) and (7, -1)

Input  :  arr[] = {1, 5, 7, -1, 5}, 
          sum = 6
Output :  3
Pairs with sum 6 are (1, 5), (7, -1) &
                     (1, 5)         

Input  :  arr[] = {1, 1, 1, 1}, 
          sum = 2
Output :  6
There are 3! pairs with sum 2.

Input  :  arr[] = {10, 12, 10, 15, -1, 7, 6, 
                   5, 4, 2, 1, 1, 1}, 
          sum = 11
Output :  9

Complejidad del tiempo esperado O(n)
 

Solución ingenua: una solución simple es recorrer cada elemento y verificar si hay otro número en la array que se pueda agregar para dar la suma. 
 

Javascript

<script>
  
// Javascript implementation of simple method to find count of
// pairs with given sum.
  
// Returns number of pairs in arr[0..n-1] with sum equal
// to 'sum'
function getPairsCount(arr, n, sum)
{
    let count = 0; // Initialize result
  
    // Consider all possible pairs and check their sums
    for (let i = 0; i < n; i++)
        for (let j = i + 1; j < n; j++)
            if (arr[i] + arr[j] == sum)
                count++;
  
    return count;
}
  
// Driver function to test the above function
    let arr = [ 1, 5, 7, -1, 5 ];
    let n = arr.length;
    let sum = 6;
    document.write("Count of pairs is "
        + getPairsCount(arr, n, sum));
      
// This code is contributed by Mayank Tyagi
  
</script>
Producción

Count of pairs is 3

Tiempo Complejidad: O(n 2
Espacio Auxiliar: O(1)
  

¡ Consulte el artículo completo sobre Contar pares con la suma dada para obtener más detalles!

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *