Files
cpp-flashcards/org/study_deck_02/dsa/arrays-hashing/0001-two-sum.org
T

71 lines
1.3 KiB
Org Mode
Raw Normal View History

#+PROPERTY: STUDY_DECK_02
* TODO 0001. Two Sum :easy:
:PROPERTIES:
:NEETCODE: [[file:../../roadmap.org::*0001. Two Sum][0001. Two Sum]]
:END:
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:*
#+begin_src
Input: nums = [2,7,11,15], target = 9
Output: [0,1]
Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
#+end_src
*Example 2:*
#+begin_src
Input: nums = [3,2,4], target = 6
Output: [1,2]
#+end_src
*Example 3:*
#+begin_src
Input: nums = [3,3], target = 6
Output: [0,1]
#+end_src
*Constraints:*
- ~2 <= nums.length <= 10^{4}~
- ~-10^{9} <= nums[i] <= 10^{9}~
- ~-10^{9} <= target <= 10^{9}~
- *Only one valid answer exists.*
*Follow-up: *Can you come up with an algorithm that is less than ~O(n^{2})~ time complexity?
** TODO Approach
Write your approach here.
** TODO Python
#+begin_src python
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
#+end_src
** TODO C++
#+begin_src cpp
class Solution {
public:
vector<int> twoSum(vector<int>& nums, int target) {
}
};
#+end_src