-
Notifications
You must be signed in to change notification settings - Fork 0
/
TwoSum.js
28 lines (26 loc) · 891 Bytes
/
TwoSum.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
//
// You may assume that each input would have exactly one solution, and you may not use the same element twice.
//
// You can return the answer in any order.
// var twoSum = function(nums, target) {
// var map = {};
// for (var i = 0; i < nums.length; i++) {
// var complement = target - nums[i];
// if (complement in map) {
// return [map[complement], i];
// }
// map[nums[i]] = i;
// }}
var twoSum = function(nums, target) {
const seen = {};
for(let i = 0; i < nums.length; i++){
const firstNum = nums[i];
const secondNum = target - firstNum;
if(secondNum in seen){
return [seen[secondNum], i];
}
seen[firstNum] = i;
}
return [0, 0];
};