定义一个对象,以数组的每个值为key。
遍历数组,对于每个元素x,找target-x在不在对象中,
若在,就找到了;
若不在,就把x存到对象中。
时间空间都是O(n)的。
var twoSum = function(nums, target) {
var mapObj = {};
for(var i = 0; i < nums.length; i++) {
if(mapObj[target - nums[i]] != undefined) {
return [i, mapObj[target - nums[i]]]
} else {
mapObj[nums[i]] = i;
}
}
return [];
};