Skip to content

Commit b6a69b7

Browse files
committed
Added solution for 1. Two Sum: https://leetcode.com/problems/two-sum/
1 parent 6c15f38 commit b6a69b7

File tree

5 files changed

+44
-19
lines changed

5 files changed

+44
-19
lines changed

algorithm.xcodeproj/xcuserdata/aseshshrestha.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414
filePath = "algorithm/main.cpp"
1515
startingColumnNumber = "9223372036854775807"
1616
endingColumnNumber = "9223372036854775807"
17-
startingLineNumber = "413"
18-
endingLineNumber = "413"
17+
startingLineNumber = "415"
18+
endingLineNumber = "415"
1919
landmarkName = "main(argc, argv)"
2020
landmarkType = "9">
2121
</BreakpointContent>
@@ -30,8 +30,8 @@
3030
filePath = "algorithm/main.cpp"
3131
startingColumnNumber = "9223372036854775807"
3232
endingColumnNumber = "9223372036854775807"
33-
startingLineNumber = "379"
34-
endingLineNumber = "379"
33+
startingLineNumber = "381"
34+
endingLineNumber = "381"
3535
landmarkName = "main(argc, argv)"
3636
landmarkType = "9">
3737
</BreakpointContent>
@@ -46,8 +46,8 @@
4646
filePath = "algorithm/main.cpp"
4747
startingColumnNumber = "9223372036854775807"
4848
endingColumnNumber = "9223372036854775807"
49-
startingLineNumber = "304"
50-
endingLineNumber = "304"
49+
startingLineNumber = "306"
50+
endingLineNumber = "306"
5151
landmarkName = "main(argc, argv)"
5252
landmarkType = "9">
5353
</BreakpointContent>
@@ -62,8 +62,8 @@
6262
filePath = "algorithm/main.cpp"
6363
startingColumnNumber = "9223372036854775807"
6464
endingColumnNumber = "9223372036854775807"
65-
startingLineNumber = "272"
66-
endingLineNumber = "272"
65+
startingLineNumber = "274"
66+
endingLineNumber = "274"
6767
landmarkName = "main(argc, argv)"
6868
landmarkType = "9">
6969
</BreakpointContent>
@@ -126,8 +126,8 @@
126126
filePath = "algorithm/main.cpp"
127127
startingColumnNumber = "9223372036854775807"
128128
endingColumnNumber = "9223372036854775807"
129-
startingLineNumber = "232"
130-
endingLineNumber = "232"
129+
startingLineNumber = "234"
130+
endingLineNumber = "234"
131131
landmarkName = "main(argc, argv)"
132132
landmarkType = "9">
133133
</BreakpointContent>
@@ -142,8 +142,8 @@
142142
filePath = "algorithm/main.cpp"
143143
startingColumnNumber = "9223372036854775807"
144144
endingColumnNumber = "9223372036854775807"
145-
startingLineNumber = "195"
146-
endingLineNumber = "195"
145+
startingLineNumber = "197"
146+
endingLineNumber = "197"
147147
landmarkName = "main(argc, argv)"
148148
landmarkType = "9">
149149
</BreakpointContent>
@@ -158,8 +158,8 @@
158158
filePath = "algorithm/main.cpp"
159159
startingColumnNumber = "9223372036854775807"
160160
endingColumnNumber = "9223372036854775807"
161-
startingLineNumber = "154"
162-
endingLineNumber = "154"
161+
startingLineNumber = "156"
162+
endingLineNumber = "156"
163163
landmarkName = "main(argc, argv)"
164164
landmarkType = "9">
165165
</BreakpointContent>
@@ -190,8 +190,8 @@
190190
filePath = "algorithm/main.cpp"
191191
startingColumnNumber = "9223372036854775807"
192192
endingColumnNumber = "9223372036854775807"
193-
startingLineNumber = "143"
194-
endingLineNumber = "143"
193+
startingLineNumber = "145"
194+
endingLineNumber = "145"
195195
landmarkName = "main(argc, argv)"
196196
landmarkType = "9">
197197
</BreakpointContent>
@@ -206,8 +206,8 @@
206206
filePath = "algorithm/main.cpp"
207207
startingColumnNumber = "9223372036854775807"
208208
endingColumnNumber = "9223372036854775807"
209-
startingLineNumber = "129"
210-
endingLineNumber = "129"
209+
startingLineNumber = "131"
210+
endingLineNumber = "131"
211211
landmarkName = "main(argc, argv)"
212212
landmarkType = "9">
213213
</BreakpointContent>

algorithm/main.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
#include "graph.hpp"
1818

1919
int main(int argc, const char* argv[]) {
20-
invoke_two_sum_ii();
20+
invoke_two_sum();
21+
22+
// invoke_two_sum_ii();
2123

2224
// invoke_find_three_number_sum();
2325

algorithm/number.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1442,3 +1442,21 @@ void invoke_two_sum_ii() {
14421442
std::cout<<number<<", ";
14431443
});
14441444
}
1445+
1446+
std::vector<int> two_sum(std::vector<int>& nums, int target) {
1447+
std::unordered_map<int, int> hash_map;
1448+
for(int index = 0; index < nums.size(); ++index) {
1449+
auto diff = target - nums[index];
1450+
if(hash_map.count(diff)) {
1451+
return {hash_map[diff], index};
1452+
}
1453+
hash_map[nums[index]] = index;
1454+
}
1455+
1456+
return {};
1457+
}
1458+
void invoke_two_sum() {
1459+
std::vector<int> input = {2,7,11,15};
1460+
auto output = two_sum(input, 22);
1461+
std::cout<<"The indices of two sums are: "<<output[0]<<", "<<output[1]<<std::endl;
1462+
}

algorithm/number.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,4 +287,9 @@ void invoke_separate_black_and_white_balls();
287287
*/
288288
void invoke_two_sum_ii();
289289

290+
/*
291+
1. Two Sum: https://leetcode.com/problems/two-sum/
292+
*/
293+
void invoke_two_sum();
294+
290295
#endif /* NUMBER_HPP */

0 commit comments

Comments
 (0)