ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

算法:两数之和

2026/9/19 14:33:47 拓冰建站 浏览量
算法:两数之和

算法:两数之和

方法一:暴力法

function twoSum(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];}}}return null;
}

方法二:哈希表

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 null;
}

方法一:使用暴力法,通过两层循环遍历数组来查找符合条件的两个数。

方法二:使用哈希表,通过一次遍历数组,将每个数的值和索引存储在哈希表中,同时查找是否存在符合条件的数。

暴力法的时间复杂度为O(n^2),空间复杂度为O(1);而哈希表的时间复杂度为O(n),空间复杂度为O(n)