-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathTwoSum.js
More file actions
22 lines (20 loc) · 704 Bytes
/
TwoSum.js
File metadata and controls
22 lines (20 loc) · 704 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function(nums, target) {
const numMap = new Map(); // Create a map to store numbers and their indices
for (let i = 0; i < nums.length; i++) {
const complement = target - nums[i]; // Calculate the complement
if (numMap.has(complement)) {
return [i, numMap.get(complement)]; // Return indices if complement is found
}
numMap.set(nums[i], i); // Store the number and its index
}
return null; // Return null if no solution found
};
/**
* Time Complexity: O(n) - We traverse the list once.
* Space Complexity: O(n) - We store elements in the map.
*/