题目:
题目截图:
解题步骤:
1.新建一个字典作为婚姻介绍所
2.nums里的值,逐个来介绍所找对象,没有合适的就先登记着,有合适的就牵手成功
注意:题目中的"你可以假设每种输入只会对应一个答案",就表明了数组中的元素不会重复
代码:
/**
* @param {number[]} nums
* @param {number} target
* @return {number[]}
*/
var twoSum = function (nums, target) {
const map = new Map();
for (let i = 0; i < nums.length; i++) {
const n = nums[i];
const n2 = target - n;
if (map.has(n2)) {
return [map.get(n2), i];
} else {
map.set(n, i);
}
}
};
时间复杂度分析:
时间复杂度是O(n),n是数组的长度
空间复杂度分析:
空间复杂度是O(n),最坏情况就是数组里面没有配对的,所有的元素都加入了map中
怎么样,是不是很简单,你学会了吗?
如果这篇文章能够帮助到您,希望您不要吝惜点赞👍👍和收藏💖💖,您的支持是我继续努力的动力 💪💪!!!