leetcode两数之和
暴力解法
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
vector<int>ans;
for(int i=0;i<nums.size();i++){
for(int j=i;j<nums.size();j++){
if(nums[i]+nums[j]==target){
ans.push_back[i];
ans.push_back[j];
return ans;
}
}
}
return ans;
}
};
multimap解法
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
multimap<int,int>m;
vector<int>ans;
for(int i=0;i<nums.size();i++){
m.insert(make_pair(nums[i],i));
int res = target-nums[i];
multimap<int,int>::iterator it;
it = m.find(res);
if(it != m.end() && it->second != i)
{
ans.push_back(it->second);
ans.push_back(i);
break;
}
}
return ans;
}
};