diff --git a/1/1.cpp b/1/1.cpp new file mode 100644 index 0000000..88c6881 --- /dev/null +++ b/1/1.cpp @@ -0,0 +1,19 @@ +class Solution { +public: + vector twoSum(vector& nums, int target) { + map numMap; + + int index = 0; + int currentTargetNum = 0; + for(; index < nums.size(); index++){ + currentTargetNum = target - nums[index]; + if(numMap.find(currentTargetNum) != numMap.end() && index != numMap[currentTargetNum]){ + break; + } + + numMap[nums[index]] = index; + } + + return { index, numMap[currentTargetNum] }; + } +}; diff --git a/1/2.cpp b/1/2.cpp new file mode 100644 index 0000000..0268b2e --- /dev/null +++ b/1/2.cpp @@ -0,0 +1,18 @@ +class Solution { +public: + vector twoSum(vector& nums, int target) { + map numMap; + + int index, currentTargetNum; + for(index = 0; index < nums.size(); index++){ + currentTargetNum = target - nums[index]; + if(numMap.find(currentTargetNum) != numMap.end()){ + break; + } + + numMap[nums[index]] = index; + } + + return { index, numMap[currentTargetNum] }; + } +}; diff --git a/1/3.cpp b/1/3.cpp new file mode 100644 index 0000000..2623c9b --- /dev/null +++ b/1/3.cpp @@ -0,0 +1,17 @@ +class Solution { +public: + vector twoSum(vector& nums, int target) { + map numMap; + int currentOther, index; + + for(index = 0; index < nums.size(); index++){ + currentOther = target - nums[index]; + if(numMap.find(currentOther) != numMap.end()){ + break; + } + numMap[nums[index]] = index; + } + + return { index, numMap[currentOther] }; + } +}; diff --git a/1/4.cpp b/1/4.cpp new file mode 100644 index 0000000..8752b21 --- /dev/null +++ b/1/4.cpp @@ -0,0 +1,15 @@ +class Solution { +public: + vector twoSum(vector& nums, int target) { + map numMap; + for(int index = 0; index < nums.size(); index++){ + int numToFind = target - nums[index]; + if(numMap.find(numToFind) != numMap.end()){ + return { index, numMap[numToFind] }; + } + numMap[nums[index]] = index; + } + + return {}; + } +};