题目:
代码(首刷看解析 2024年1月15日):
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int another = 0;
unordered_map<int,int> hash;
for(int i = 0; i < nums.size(); ++i) {
another = target - nums[i];
if(hash.find(another) != hash.end()) return {i,hash[another]};
else hash.emplace(nums[i],i);
}
return {0,0};
}
};
一开始做的时候把所有的数先存进hash表里再去找,结果这种情况无法满足重复key值,用multimap又无法检索键对应的值,最后看了代码随想录里的思路发现在遍历过程中插入即可。