LeetCode 第 1 题 JavaScript 解答:两数之和
LeetCode 第 1 题:两数之和 - JavaScript 解答
题目描述:
给定一个整数数组 'nums' 和一个目标值 'target',请在该数组中找出和为目标值的两个整数,并返回它们的数组下标。
示例:
输入:nums = [2, 7, 11, 15], target = 9 输出:[0, 1] 解释:nums[0] + nums[1] = 2 + 7 = 9,因此返回 [0, 1]。
解题思路:
使用哈希表,遍历数组,将数组中的每个元素作为哈希表的键,其下标作为哈希表的值。对于每个元素,判断 'target' 与该元素的差值是否在哈希表中,如果在,则返回该差值的下标和该元素的下标。
代码实现:
var twoSum = function(nums, target) {
let 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);
}
};
时间复杂度: O(n) 空间复杂度: O(n)
原文地址: https://www.cveoy.top/t/topic/mA7S 著作权归作者所有。请勿转载和采集!