# Coding Challenge Day- 17: Problem 1: How to find all pairs in array integer whose sum is equal to a given number

Hello! So I’m doing a 30 day coding challenge where I solve a few questions every day and thought of posting them here on my blog so that you guys can join the challenge too!

Welcome to Coding challenge Day 17: Problem 1! Be sure to post your answers, queries etc in the comments!

Problem: How to find all pairs in array integer whose sum is equal to a given number

Sample input:

int array[]= {1,2,3,4};
int sum=5;

Output:

Integr Array: [1, 2, 3, 4]
Pairs having sum = 5
(3, 2)
(4, 1)

Solutions:

So I solved this in two ways:

Approach 1: By adding each number with all other elements and checking if their sum is equal to the given number.

``````package array;

import java.util.Arrays;

public class Program011find_sum_pair_2 {

public static void find_pair (int [] array, int sum){

int length= array.length;
for(int i=0; i<length; i++){
int a= array[i];
for(int j=0; j<length; j++){
if(array[j]+a==sum){
System.out.printf("( %d, %d ) %n", a,array[j]);
}
}
}
}

public static void main (String [] args){
int array[]= {1,2,3,4};
int sum=5;

System.out.println("Integr Array: "+ Arrays.toString(array));
System.out.println("Pairs having sum = " + sum);

find_pair(array, sum);
}

}
``````

Approach 2: By using HashSet

``````package array;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

public class Program011find_sum_pair {

public static void find_pair(int[] array, int sum){
if(array.length < 2){
return;
}
Set set = new HashSet(array.length);

for(int i : array){
int target = sum - i;
if(!set.contains(target)){
}else {
System.out.printf("(%d, %d) %n", i, target);
}
}
}

public static void main(String args[]) {
int array[]= {1,2,3,4};
int sum=5;

System.out.println("Integr Array: "+ Arrays.toString(array));
System.out.println("Pairs having sum = " + sum);

find_pair(array, sum);

}

}
``````

Happy Learning!!!

This site uses Akismet to reduce spam. Learn how your comment data is processed.