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

std::vector<int> twoSum(std::vector<int>& nums, int target) {
    std::unordered_map<int, int> map {};   
    std::vector<int> output {};
   
    for (int i = 0; i < nums.size(); i++) {
        int diff = target - nums[i];
        if (map.find(diff) != map.end()) {
            output = {map[diff], i};
            return output;
        }
        map[nums[i]] = i;
    }
    
    return output;    
}


int main() {

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

Embed on website

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