2026-06-01 18:12:40 +08:00
#+ANKI_DECK : study_deck_02
2026-06-01 17:12:10 +08:00
* TODO 0040. Combination Sum II :medium:
2026-06-01 02:33:30 +08:00
:PROPERTIES:
2026-06-01 17:22:07 +08:00
:NEETCODE: [[file:../../roadmap.org::*0040. Combination Sum II][0040. Combination Sum II]]
2026-06-01 02:33:30 +08:00
:END:
2026-06-01 17:22:07 +08:00
Given a collection of candidate numbers (~candidates~ ) and a target number (~target~ ), find all unique combinations in ~candidates~ where the candidate numbers sum to ~target~ .
Each number in ~candidates~ may only be used *once* in the combination.
*Note:* The solution set must not contain duplicate combinations.
*Example 1:*
#+begin_ src
Input: candidates = [10,1,2,7,6,1,5], target = 8
Output:
[
[1,1,6],
[1,2,5],
[1,7],
[2,6]
]
#+end_src
*Example 2:*
#+begin_ src
Input: candidates = [2,5,2,1,2], target = 5
Output:
[
[1,2,2],
[5]
]
#+end_src
*Constraints:*
- ~1 <= candidates.length <= 100~
- ~1 <= candidates[i] <= 50~
- ~1 <= target <= 30~
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 combinationSum2 ( self , candidates : List [ int ] , target : int ) - > List [ 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 < vector < int > > combinationSum2 ( vector < int > & candidates , int target ) {
}
} ;
2026-06-01 02:33:30 +08:00
#+end_src