From a51ade25ec1fa8f649ac173f44dbfd807e8b37a0 Mon Sep 17 00:00:00 2001 From: Yavuz Sava Date: Fri, 28 Mar 2025 20:10:42 +0000 Subject: [PATCH] Initial commit --- .gitignore | 34 ++++++++++++++++++++++++++++++++++ README.md | 32 ++++++++++++++++++++++++++++++++ main.cpp | 17 +++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 main.cpp diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e257658 --- /dev/null +++ b/.gitignore @@ -0,0 +1,34 @@ +# ---> C++ +# Prerequisites +*.d + +# Compiled Object files +*.slo +*.lo +*.o +*.obj + +# Precompiled Headers +*.gch +*.pch + +# Compiled Dynamic libraries +*.so +*.dylib +*.dll + +# Fortran module files +*.mod +*.smod + +# Compiled Static libraries +*.lai +*.la +*.a +*.lib + +# Executables +*.exe +*.out +*.app + diff --git a/README.md b/README.md new file mode 100644 index 0000000..85d813d --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# LeetCode-1.Two_Sum_via_CPP + +## Problem Statement - Two Sum +Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. +You may assume that each input would have exactly one solution, and you may not use the same element twice. +You can return the answer in any order. + +## Example 1: +Input: nums = [2,7,11,15], target = 9 + +Output: [0,1] + +Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. + +## Example 2: +Input: nums = [3,2,4], target = 6 + +Output: [1,2] + +## Example 3: +Input: nums = [3,3], target = 6 + +Output: [0,1] + +## Constraints: +2 <= nums.length <= 104 + +-109 <= nums[i] <= 109 + +-109 <= target <= 109 + +Only one valid answer exists. diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..5dc233d --- /dev/null +++ b/main.cpp @@ -0,0 +1,17 @@ +#include +#include + +class Solution { +public: + std::vector twoSum(std::vector& nums, int target) { + std::unordered_map num_map; // Stores number and its index + for (int i = 0; i < nums.size(); ++i) { + int complement = target - nums[i]; + if (num_map.find(complement) != num_map.end()) { + return {num_map[complement], i}; // Found the two indices + } + num_map[nums[i]] = i; // Store index of the current number + } + return {}; + } +}; \ No newline at end of file