#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
class Solution
{
private:
vector<int>nums;
int target;
public:
void init();
vector<int>twoSum1();
};
void Solution::init()
{
nums = { 7,2,0,9 };
target = 9;
}
vector<int>Solution::twoSum1()
{
vector<int>res = { -1,-1 };
if (&nums == NULL || nums.size() < 2)
return res;
unordered_map<int, int>map;
for (int i = 0; i < int(nums.size()); i++)
{
int numberToFind = target - nums[i];
if (map.find(numberToFind) != map.end())
{
res[0] = map[numberToFind];
res[1] = i;
return res;
}
map[nums[i]] = i;
}
return res;
}
int main()
{
Solution test;
test.init();
vector<int>res = test.twoSum1();
for (int i = 0; i < res.size(); i++)
{
cout << res[i] <<' ';
}
return 0;
}