#include <vector>
#include <unordered_map>
#include <algorithm>
class Solution {
public:
std::vector<int> twoSum(std::vector<int>& nums, int target) {
std::unordered_map<int, int> n_map;
std::vector<int> sol;
for (int i = 0; i < nums.size(); i++) {
if (n_map.contains(target - nums[i])) {
sol.push_back(n_map[target - nums[i]]);
sol.push_back(i);
break;
}
n_map[nums[i]] = i;
}
return sol;
}
};