描述
给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。
class Solution {
public:
/**
*
* @param numbers int整型vector
* @param target int整型.
* @return int整型vector
*/
vector<int> twoSum(vector<int>& numbers, int target) {
unordered_map<int, int> hash_map;//声明一个无序哈希表
vector<int> result;
for (int i = 0;i<numbers.size();i++)
{
if (hash_map.find(target - numbers[i]) == hash_map.end())//没有找到
{
hash_map[numbers[i]] = i+1;//加入哈希表///坐标从1开始
continue;
}
else
{
result.emplace_back(hash_map[target - numbers[i]]);
result.emplace_back(i+1);//坐标从1开始
break;
}
}
return result;
}
};