给定一个整数数组 nums 和一个目标值 target,请找出数组中和为目标值的两个整数,并返回它们的数组下标。
分类: technical
难度: easy
标签:
答题技巧
["最优解是使用哈希表(一遍哈希)","时间复杂度O(n),空间复杂度O(n)","暴力法O(n²)也可以接受(初级岗位)","需要说明不能使用同一个元素两次","可以追问:是否有多个解?数组是否有重复元素?","写代码时注意返回的是下标,不是值"]
参考答案
使用哈希表解法: ```javascript function twoSum(nums, target) { const map = new Map(); for (let i = 0; i < nums.length; i++) { const complement = target - nums[i]; if (map.has(complement)) { return [map.get(complement), i]; } map.set(nums[i], i); } return []; } ```