How do you find all pairs of an integer array whose sum is equal to a given number?

twitter logo github logo ・1 min read

interview (3 Part Series)

1) How do you find the duplicate number on a given integer array? 2) How do you find the largest and smallest number in an unsorted integer array? 3) How do you find all pairs of an integer array whose sum is equal to a given number?
input = [10,18,20,5,11,2,10,15]
sum = 20

length = len(input) 
for i in range(length): 
  for j in range(i+1, length):
    if(input[i] + input[j] == sum):
      print(input[i], input[j])

and the output is

10 10
18 2
5 15
twitter logo DISCUSS (2)
markdown guide
 

Another solution would be to use a map(or a dictionary in python, AFAIK) where each key would follow this rule: sum - list[i];

for (let i = 0; i < len; i++) {
   const k = sum-list[i];
  if (map.has(k))
     console.log(k, map.get(k))
  else map.set(k, list[i]);
}
 
Classic DEV Post from Apr 5

How NOT to ask for help

muTheTechie profile image
Loving #opensource #AWS #python