1. 两数之和
算法
- 利用哈希表存储数组元素及其下标:
- 使用一个哈希表,键为数组元素值,值为对应的下标
- 哈希表可以快速查询某个元素是否已经出现过
 
- 遍历数组,寻找目标值对应的数:
- 在遍历数组时,对于当前元素 nums[i],计算另一个需要的数x = target - nums[i];
- 在哈希表中检查是否存在 x:- 如果 x存在,说明找到了两个数,返回它们的下标
- 如果 x不存在,将当前数nums[i]及其索引存入哈希表,继续遍历
 
- 如果 
 
- 在遍历数组时,对于当前元素 
复杂度分析
时间复杂度
- 哈希表查询和插入:每次操作 O(1)
- 数组遍历:遍历一次数组,时间复杂度为 O(n)
- 总时间复杂度 O(n)
空间复杂度
- 需要一个哈希表存储数组中的元素及其索引,空间复杂度为 O(n)
C++ 代码
|  |  | 
Python 代码
|  |  | 
Go 代码
|  |  | 
JavaScript 代码
|  |  | 
