Showing posts with label Sum of Two Numbers. Show all posts
Showing posts with label Sum of Two Numbers. Show all posts

Friday, August 30, 2019

Finding the numbers in Array for Given Sum


import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

public class LocalTest {

// Finding sum of two numbers using O(n2)
public static int[] getSum(int arra[], int sum) {

for (int i = 0; i < arra.length; i++) {
for (int j = 0; j < arra.length; j++) {
if (arra[i] + arra[j] == sum) {
return new int[] { arra[i], arra[j] };
}

}
}
return null;
}

//Finding sum of two numbers using O(n)
public static int[] findSum(int arra[], int sum) {

Map<Integer, Integer> arraryMap = new HashMap<Integer, Integer>();
for (int i = 0; i < arra.length; i++) {
int value = arra[i];
if (arraryMap.containsKey(sum - value)) {
return new int[] { arra[arraryMap.get(sum - value)], arra[i]  };
}
arraryMap.put(value, i);
}
return null;
}

public static void main(String[] args) {
int arrValues[] = {2,5,7,9,11,3,8 };
System.out.println(Arrays.toString(getSum(arrValues,13)));
System.out.println(Arrays.toString(findSum(arrValues,13)));

}

}

Output
[2, 11]

[2, 11]
Thanks for your valuable comments