给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
var twoSum = function (nums, target) {
// map用于存需要的下标
let hash = {};
for (let i = 0; i < nums.length; i++) {
// (target-当前值) 若在map中存在,说明此值的下标是我们需要的
if (hash[target - nums[i]]) {
return [i, hash[target - nums[i]]];
}
// 不存在则缓存,一直找到需要的为止
hash[nums[i]] = i;
}
// 找不到则返回空数组
return [];
};
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。