一、题目
二、代码
class Solution
{
public:
vector<int> twoSum(vector<int>& nums, int target)
{
int i,j;
map <int,int> num_map;
map <int,int>::iterator pos;
vector<int> return_vector;
for(i=0;i<nums.size();i++)
{
pos=num_map.find(target-nums[i]);
if(pos==num_map.end()) //没有找到匹配数字 插入当前数字
{
num_map.insert(pair<int,int>(nums[i],1));
}
else //找到匹配数字
{
return_vector.push_back(i);
for(j=0;j<i;j++)
{
if(nums[j]==target-nums[i])
{
return_vector.push_back(j);
break;
}
}
}
}
return return_vector;
}
};