-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtwoSum.js
36 lines (34 loc) · 879 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
29
30
31
32
33
34
35
36
function twoSum(nums, target) {
// let map=new Map()
// let arr=[]
// for (let i=0; i<nums.length; i++){
// if (map.has(target-nums[i])){
// arr.push(map.get(target-nums[i]), i)
// }
// else{
// map.set(nums[i], i)
// }
// }
// // console.log(map)
// return arr
let map=new Map()
let arr=[]
for (let i=0; i<nums.length; i++){
if (!map.has(nums[i])){
map.set(nums[i], i)
}
}
for (let i=0; i<nums.length; i++){
if (map.has(target-nums[i]) && map.get(target-nums[i])!==i){
if (i>map.get(target-nums[i])){
arr.push(map.get(target-nums[i]), i)
}
else{
arr.push(i, map.get(target-nums[i]))
}
break
}
}
return arr
// console.log(map)
}