class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param numbers int整型vector
* @param target int整型
* @return int整型vector
*/
vector<int> twoSum(vector<int>& nums, int target)
{
int i=0;
int len=nums.size();
unordered_map<int,vector <int>>hash;
for(i=0;i<len;i++)
{
hash[nums[i]].push_back(i);
}
vector <int>ans;
for(i=0;i<len;i++)
{
int m=target-nums[i];
if(m==nums[i])
{
if(hash[nums[i]].size()>1)
{
ans.push_back(hash[nums[i]][0]+1);
ans.push_back(hash[nums[i]][1]+1);
return ans;
}
}
else
{
if(hash.count(m))
{
ans.push_back(i+1);
ans.push_back(hash[m][0]+1);
return ans;
}
}
}
return ans;
}
};