1-two-sum.js
632 Bytes
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum1 = function(nums, target) {
for(let [i, v] of nums.entries()) {
let f = nums.indexOf(target-v, i+1);
if (f >= 0) {
return [i, f]
}
}
};
var twoSum = function(nums, target) {
let m = {}
for(let [i, v] of nums.entries()) {
(m[v] === void 0) && (m[v]=i);
let d = target-v;
// console.info('-->', i,v,d,m[d])
if (m[d] >= 0 && m[d] !== i) {
return [m[d], i]
}
}
};
console.info(twoSum([3,2,4], 6));
console.info(twoSum([2,7,11,15], 9));
console.info(twoSum([4,2,4], 8));