我正在处理Leetcode挑战,我想利用哈希表或std::unordered_map
在每次迭代后存储值。根据我的读物,它应该像说hash[key] = value
一样简单。但是,Leetcode编译器会从std::out_of_range
中抛出_Map_base::at()
异常。
这是我的代码:
#include <unordered_map>
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
std::unordered_map<int,int> hashMap;
vector<int> result;
for(int i = 0; i < nums.size(); i++)
{
if(hashMap.count(target-nums[i]) > 0)
{
result.push_back(hashMap.at(target-nums[i]));
result.push_back(hashMap.at(nums[i]));
}
else
hashMap[nums[i]] = i;
}
return result;
}
};