Open
Description
// 暴力循环破解 O(n2)
var twoSum = function (nums, target) {
for (let i = 0; i < nums.length; i++) {
for (let j = i + 1; j < nums.length; j++) {
if (nums[i] + nums[j] === target) {
return [i, j]
}
}
}
};
// 借助 map O(n)
var twoSum = function (nums, target) {
const map = {}
for (let i = 0; i < nums.length; i++) {
const anthorItem = target - nums[i];
if (map[anthorItem] !== undefined) {
return [i, map[anthorItem]];
} else {
map[nums[i]] = i;
}
}
}