two sum
import java.util.*;
public class TwoSum {
public static int[] getIndex(int arr[], int target) {
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < arr.length; i++) {
int diff = target - arr[i];
if (map.containsKey(diff)) {
return new int[] { i, map.get(diff) };
}
map.put(arr[i], i);
}
return new int[] { 0, 0 };
}
public static void main(String[] args) {
int arr[] = { 2, 7, 11, 15 };
int target = 9;
/*
* for(int i=0;i<arr.length;i++){
* for(int j=i+1;j<arr.length;j++){
* if (arr[i]+arr[j]==target) {
* System.out.print(i+" "+j);
* }
* }
* }
*/
int idx[] = getIndex(arr, target);
for (int i = 0; i < idx.length; i++) {
System.out.print(idx[i] + " ");
}
}
}
Comments
Post a Comment