loading...

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

mu profile image muTheTechie ・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

Discussion

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]);
}