/*
@param { number [] } nums
@param { number } target
@return { number[] }
*/
// n 两遍遍历 大概次数是 n*n o(n^2)
var twoSum = function(nums, target) {
// 你需要什么样的对象,告诉主办方
let obj = {};
for (let i = 0; i < nums.length; i++) {
const num = nums[i];
const diff = target - num;
// 告诉主办方你的诉求,先看有没有匹配的
if (num in obj) {
// 找到了 obj[num] 是 obj[target - num] 的对应索引,此处是 i的索引
return [obj[num], i];
} else {
obj[diff] = i;
}
}
}
/*
obj
key 对应数值
value 对应索引
*/
两数之和
最新推荐文章于 2022-09-08 15:13:58 发布