两数之和、三数之和、k 数之和通用模板

张开发
2026/6/4 17:34:19 15 分钟阅读
两数之和、三数之和、k 数之和通用模板
这几个题其实是一套思路:两数之和:哈希表 / 双指针三数之和:排序 + 枚举 + 双指针k 数之和:递归降维,最终转成两数之和1. 两数之和题目给定数组nums和目标值target,找出两个数,使它们和为target。写法一:返回下标(最常见)function twoSum(nums, target) { const map = new Map(); for (let i = 0; i nums.length; i++) { const need = target - nums[i]; if (map.has(need)) { return [map.get(need), i]; } map.set(nums[i], i); } return []; }思路遍历数组每次看target - nums[i]是否已经出现过出现过就直接返回复杂度时间:O(n)

更多文章