payal-kothari
7/25/2017 - 6:26 PM

## 2 solutions; using HashMap and w/o using HashMap From https://leetcode.com/problems/two-sum-ii-input-array-is-sorted/#/description

2 solutions; using HashMap and w/o using HashMap

``````public class Solution {
public int[] twoSum(int[] numbers, int target) {

// ****** solution without using HashMap  ***** //
int index[] = new int[2];
int i = 0, j = numbers.length -1;   // i - left , j - right

while( i <numbers.length ){
int rem = numbers[i] + numbers[j];
if(rem == target){
index[0] = i + 1;
index[1] = j + 1;
break;
}
else if(rem < target){
i++;
}else{
j--;
}
}

return index;

// ******** Solution using HashMap ******* //

//         Map<Integer,Integer> map = new HashMap<>();
//         int i=1;
//         int ans[] = new int[2];
//         for(int num : numbers){
//             map.put(num,i);
//             i++;
//         }

//         for(int j =0 ; j <numbers.length ; j++){
//             int rem = target - numbers[j];
//             if(map.get(rem) != null){             // ****
//                 ans[1] = map.get(rem);
//                 ans[0] = j+1;
//                 break;
//             }
//         }

//         return ans;
}
}``````