使用映射表map , unordered_map
map基于红黑树,unordered_map基于哈希,显然unordered_map更加合适
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
int n=nums.size();
int i;
unordered_map<int,int> mp;
vector<int> vt;
for(i=0;i<n;i++)
{
if(mp.find(target-nums[i])==mp.end())
mp[nums[i]]=i;
else
{
vt.push_back(mp[target-nums[i]]);
vt.push_back(i);
break;
}
}
return vt;
}
};