leetcode-1. 两数之和

本文最后更新于:2022年7月30日 晚上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
// hashmap 存 <int,int> <数字,下标>
unordered_map<int,int> umap;

for (int i = 0; i < nums.size(); i ++)
{
// 如果能够找到 target-nums[i],说明 找到2个数和为target了,因为nums[i]已经在umap中了
auto iter = umap.find(target-nums[i]);
if ( iter != umap.end())
{
vector<int> tmp{i, iter->second};
return tmp;
}

// 把nums[i]保存在umap中
umap[nums[i]] = i;
}

return {};
}
};