aboutsummaryrefslogtreecommitdiff
path: root/store/works/solutions/leetcode/cpp/167.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'store/works/solutions/leetcode/cpp/167.cpp')
-rw-r--r--store/works/solutions/leetcode/cpp/167.cpp28
1 files changed, 28 insertions, 0 deletions
diff --git a/store/works/solutions/leetcode/cpp/167.cpp b/store/works/solutions/leetcode/cpp/167.cpp
new file mode 100644
index 0000000..05317b4
--- /dev/null
+++ b/store/works/solutions/leetcode/cpp/167.cpp
@@ -0,0 +1,28 @@
+#include <vector>
+
+using std::vector;
+
+class Solution
+{
+public:
+ vector<int> twoSum(vector<int> &numbers, int target)
+ {
+ int left = 0, right = numbers.size() - 1;
+ while (true)
+ {
+ const auto sum = numbers[left] + numbers[right];
+ if (sum < target)
+ {
+ left++;
+ }
+ else if (sum > target)
+ {
+ right--;
+ }
+ else
+ {
+ return {left + 1, right + 1};
+ }
+ }
+ }
+};