很经典的一道unordered_map题。
public:
/**
*
* @param numbers int整型vector
* @param target int整型
* @return int整型vector
*/
vector<int> twoSum(vector<int>& numbers, int target) {
unordered_map<int, int> npos;
vector<int> result(2,0);
for (int i = 0; i < numbers.size(); i++)
{
if (npos.count(target - numbers[i]) != 0)
{
result[0] = npos[target - numbers[i]] + 1;
result[1] = i + 1;
break;
}
else
{
npos[numbers[i]] = i;
}
}
sort(result.begin(), result.end());
return result;
}
};