fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <unordered_map>
  4. using namespace std;
  5.  
  6. class Solution {
  7. public:
  8. vector<int> twoSum(vector<int>& nums, int target) {
  9. vector<int> res;
  10. unordered_map<int, int> map;
  11.  
  12. for (int i = 0; i < nums.size(); i++) {
  13. auto it = map.find(nums[i]);
  14. if (it == map.end()) {
  15. map.emplace(target - nums[i], i);
  16. } else {
  17. res.push_back(it->second);
  18. res.push_back(i);
  19. break;
  20. }
  21. }
  22.  
  23. return res;
  24. }
  25. };
  26.  
  27. int main() {
  28. vector<int> v{1,2,3,10,9,7,5,100};
  29. Solution sol;
  30. auto res = sol.twoSum(v, 15);
  31. cout << res[0] << " " << res[1] << endl;
  32. return 0;
  33. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
3 6