2026-06-01 16:12:21 +08:00
|
|
|
#+PROPERTY: STUDY_DECK_02
|
2026-06-01 17:12:10 +08:00
|
|
|
* TODO 0001. Two Sum :easy:
|
2026-06-01 02:33:30 +08:00
|
|
|
:PROPERTIES:
|
2026-06-01 17:22:07 +08:00
|
|
|
:NEETCODE: [[file:../../roadmap.org::*0001. Two Sum][0001. Two Sum]]
|
2026-06-01 02:33:30 +08:00
|
|
|
:END:
|
|
|
|
|
|
2026-06-01 17:22:07 +08:00
|
|
|
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?
|
|
|
|
|
|
2026-06-01 02:39:53 +08:00
|
|
|
** TODO Approach
|
|
|
|
|
Write your approach here.
|
|
|
|
|
|
|
|
|
|
** TODO Python
|
|
|
|
|
#+begin_src python
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution:
|
|
|
|
|
def twoSum(self, nums: List[int], target: int) -> List[int]:
|
2026-06-01 02:39:53 +08:00
|
|
|
#+end_src
|
|
|
|
|
|
|
|
|
|
** TODO C++
|
2026-06-01 02:33:30 +08:00
|
|
|
#+begin_src cpp
|
2026-06-01 17:22:07 +08:00
|
|
|
class Solution {
|
|
|
|
|
public:
|
|
|
|
|
vector<int> twoSum(vector<int>& nums, int target) {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
};
|
2026-06-01 02:33:30 +08:00
|
|
|
#+end_src
|