LeetCode-1.两数之和

题目详解

相关链接

思路

  • 我们需要记录每个元素出现的位置,所以用hash map即可

看完代码随想录之后的想法

  • 思路一致

实现过程中遇到的困难

  • 要搞清楚哈希表的keyvalue分别是什么

代码

TypeScript
1
2
3
4
5
6
7
8
9
10
function twoSum(nums: number[], target: number): number[] {
const hash = new Map<number, number>()
for (let i = 0; i < nums.length; i++) {
const num = nums[i],
s = target - num
if (hash.has(s)) return [hash.get(s), i]
else hash.set(num, i)
}
return []
}

时间复杂度:O(n)
空间复杂度:O(n)

收获

  • hash map的经典应用
-------- 本文结束 感谢阅读 --------
0%