题目

1.两数之和

分析

  • 暴力 for

  • 查找时间为 O(1) 的 Hash,包括 Set 和 Map

代码

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