From bcb19c9700998f85e887616927410013f3e58bfa Mon Sep 17 00:00:00 2001 From: Ashwinee Siyane Date: Tue, 10 Nov 2026 19:07:00 +0530 Subject: [PATCH] feat: add C++ Two Sum solution --- solutions/cpp/practice1.cpp | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 solutions/cpp/practice1.cpp diff --git a/solutions/cpp/practice1.cpp b/solutions/cpp/practice1.cpp new file mode 100644 index 0000000..92b4976 --- /dev/null +++ b/solutions/cpp/practice1.cpp @@ -0,0 +1,36 @@ +// Problem: Two Sum +// Source: https://leetcode.com/problems/two-sum/ +// Note: Uses an unordered_map for efficient O(n) lookup. + +#include +#include +#include +using namespace std; + +vector twoSum(const vector& nums, int target) { + unordered_map seen; + + for (int i = 0; i < static_cast(nums.size()); i++) { + int complement = target - nums[i]; + + if (seen.find(complement) != seen.end()) { + return {seen[complement], i}; + } + + seen[nums[i]] = i; + } + + return {}; +} + +int main() { + vector result1 = twoSum({2, 7, 11, 15}, 9); + vector result2 = twoSum({3, 2, 4}, 6); + vector result3 = twoSum({3, 3}, 6); + + for (const auto& result : {result1, result2, result3}) { + cout << "[" << result[0] << ", " << result[1] << "]" << endl; + } + + return 0; +}