Abu Saleh Faysal

Posted on

# 1. Two Sum - Leetcode - JavaScript Solution using HashMap - by Abu Saleh Faysal

I previously solved this problem using two for loops. However, that was not a very efficient way to solve this problem. So, this time I solved this problem using HashMap.

## Solution:

Step 01: Hashmap is a set of key, value pairs. I declared a variable which is an empty hashmap.

*Step 02: * Using a for loop, iterate the whole array and find out the needed number to meet the target (for each individual number) using this equation: needed number = target - individual number.

Step 03: Check if the hashmap contains the needed number or not, if it contains the needed number, then we simply return the needed number index and the index of that particular array element that gave us the needed number. If it does not meet the condition then, I simply store the number and the index in the hashmap.

Code:

``````/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
let hashMap = new Map();

for(let i = 0; i < nums.length; i++) {
let neededNumber = target - nums[i];

if(hashMap.has(neededNumber)) {
return [i, hashMap.get(neededNumber)];
}
hashMap.set(nums[i], i);

}
};
``````