two-sum 1.0.0
Two sum
Loading...
Searching...
No Matches
main.cpp
Go to the documentation of this file.
1#include <iostream>
2#include <unordered_map>
3#include <vector>
4
5using namespace std;
6
8{
9public:
10 vector<int> twoSum(vector<int>& nums, int target)
11 {
12 vector<int> answer(2);
13 unordered_map<int, int> complements;
14 for (int i = 0; i < (int)nums.size(); ++i)
15 {
16 int mapped = target - nums[i]; // mapped complement
17 if (complements.find(mapped) != complements.end())
18 {
19 answer[0] = complements[mapped];
20 answer[1] = i;
21 break;
22 }
23 complements[nums[i]] = i;
24 }
25 // for (auto el: complements)
26 // cout << "value: " << el.first << "; index: " << el.second << endl;
27 return answer;
28 }
29};
30
31int main()
32{
33 vector<int> nums = {2, 7, 11, 15};
34 int target = 9;
35 Solution sol;
36 vector<int> answer = sol.twoSum(nums, target);
37 for (int el: answer)
38 cout << el << ", ";
39 cout << endl;
40 return 0;
41}
42
vector< int > twoSum(vector< int > &nums, int target)
Definition main.cpp:10
int main()
Definition main.cpp:31