题目
![](https://img-blog.csdnimg.cn/direct/78178651ab974be1aa88d2c10a86c3bf.png)
![](https://img-blog.csdnimg.cn/direct/0d88d4fd6a714eb08d7cf5661dcf230f.png)
思路
![](https://img-blog.csdnimg.cn/direct/af5a5f39fe4d403589a4dd30fd6c8132.png)
代码实现
#include<iostream>
#include<unordered_map>using namespace std;class Solution
{
public:vector<int> TwoNumber(const vector<int>& nums, int target){vector<int> number_vector;unordered_map<int, int> hash_table;for (int i = 0; i < nums.size() ; i++){auto it = hash_table.find(target - nums[i]);if (it != hash_table.end()){number_vector.push_back(it->second);number_vector.push_back(i);return number_vector;}else{hash_table[nums[i]] = i;}}}
};int main()
{Solution test;vector<int> number_vector = {2,6,11,12,7,8};vector<int> out = test.TwoNumber(number_vector, 9);for (auto var : out){std::cout << "out:" << var << " " << std::endl;}return 0;
}
测试结果
![](https://img-blog.csdnimg.cn/direct/3de9b54ddbbc472e93356b605afa42dc.png)