   # Write a program that find all the pairs that add up to given number?

87 views

### Write a program which finds all pairs of elements in an array whose sum is equal to a given number

``````Input  array: [-2,1,3,5,6,7,8,10,12,15,17,19,20]
Sum : 20
``````

Output

``````6, 12
3, 15
1, 17
-2, 20
8, 10
``````

Required best time complexity and effective code posted Sep 27

The easiest way can be the below solution whose time complexity is O(n^2). Might not recommended for large arrays.

``````static void getPairsEasy(int[] ar, int sum) {
for (int i = 0; i < ar.length; i++)
for (int j = i + 1; j < ar.length; j++) {
if (sum == ar[i] + ar[j])
System.out.println(ar[i] + "," + ar[j]);
}
}
``````

The other solution could be below, whose time complexity is O(nLogn). Works only for sorted arrays.

``````    static void getPairsBinarySearch(int[] ar, int sum) {
Arrays.sort(ar);
int i=0, j = ar.length - 1;
while(i<j){
if(sum==ar[i]+ar[j]){
System.out.println(ar[i]+","+ar[j]);
i++; j--;
}else if(sum > ar[i]+ar[j]){
i++;
}else if(sum < ar[i]+ar[j]){
j--;
}
}
}
`````` answer Sep 28
Similar Questions
+1 vote

Say you are given

``````int a[ ] = {1,2,3,4};
int b[ ] = {4,3,2,1};
int S = 5;
``````

Now the task is to find all pairs of two number which adds up to S (One number from a and other number from b).

Rohit wants to add the last digits of two given numbers.
For example, If the given numbers are 267 and 154, the output should be 11.

Below is the explanation -
Last digit of the 267 is 7
Last digit of the 154 is 4
Sum of 7 and 4 = 11

### Write a program to help Rohit achieve this for any given two numbers.

Note: The sign of the input numbers should be ignored. i.e.
if the input numbers are 267 and 154, the sum of last two digits should be 11
if the input numbers are 267 and -154, the sum of last two digits should be 11
if the input numbers are -267 and 154, the sum of last two digits should be 11
if the input numbers are -267 and -154, the sum of last two digits should be 11

Given a set of random strings, write a function that returns a set that groups all the anagrams together.

Ex: star, dog, car, rats, arc - > {(star, rats), (arc,car), dog}