Question
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:
Input: candidates = [10,1,2,7,6,1,5], target = 8 Output: [ [1,1,6], [1,2,5], [1,7], [2,6] ]
Example 2:
Input: candidates = [2,5,2,1,2], target = 5 Output: [ [1,2,2], [5] ]
Constraints:
1 <= candidates.length <= 1001 <= candidates[i] <= 501 <= target <= 30
Python Solution
class Solution:
def combinationSum2(self, candidates: List[int], target: int) -> List[List[int]]:
combinations = []
candidates.sort()
def solve(ind=0,curr_sum=0,curr_list=[]):
if curr_sum==target:
if curr_list not in combinations:
combinations.append(curr_list[:])
return
for i in range(ind,len(candidates)):
if candidates[i]+curr_sum>target:
break
solve(i+1,candidates[i]+curr_sum,curr_list+[candidates[i]])
solve()
return combinations

![[Solved] You are given an integer n and an integer start. Define an array nums where nums[i] = start + 2 * i (0-indexed) and n == nums.length. Return the bitwise XOR of all elements of nums.](https://machinelearningprojects.net/wp-content/uploads/2022/09/Leetcode-solutions-MLP-Feature-Image-1024x536.webp)