#include <iostream>
#include <vector>
#include <unordered_map>

class Solution {   
public:
    static std::vector<int> twoSum(const std::vector<int>& nums, const int target) {
        
        std::unordered_map<int, int> map {}; 

        for (int i = 0; i < nums.size(); i++) {
            int diff = target - nums[i];
            if (map.count(diff) != 0) {
                return {map[diff], i};                
            }
            map[nums[i]] = i;
        }

        return {};
    }  
};


int main() {    

    std::vector<int> nums {1, 2, 3, 4, 5};
    std::vector<int> res;
    
    for (int target = 1; target < 12; target++) {
        
        res = Solution::twoSum(nums, target) ;
        
        if (res.size() == 2) {
            std::cout << "[" << res[0] << ", " << res[1] << "]" << '\n';    
        } else {
            std::cout << "[]" << '\n';
        }
    }
    
    return 0;
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: