哈希表-两数之和
题目链接
这道题用C++的unordered_map
,首先不需要有顺序,以及键值不需要相同,从第一个元素开始不断比较以及往myMap
里面插数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { std::unordered_map<int,int> myMap; for(int i = 0; i < nums.size(); i++){ auto pt = myMap.find(target - nums[i]); if(pt != myMap.end()) return {pt->second, i}; myMap.insert(pair<int, int>(nums[i], i)); } return {}; }
};
|