Combination Sum II - Array - Medium - LeetCode
💻 coding

Combination Sum II - Array - Medium - LeetCode

1 min read 181 words
1 min read
ShareWhatsAppPost on X
  • 1The problem requires finding unique combinations of candidate numbers that sum to a specified target.
  • 2Each candidate number can only be used once in a combination, and duplicate combinations are not allowed.
  • 3The provided solution uses a backtracking approach with a time complexity of O(2^n) and space complexity of O(1).

AI-generated summary · May not capture all nuances

Key Insight
AskGif

"The problem requires finding unique combinations of candidate numbers that sum to a specified target."

Combination Sum II - Array - Medium - LeetCode

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 <= 100 1 <= candidates[i] <= 50 1 <= target <= 30

public class Solution {
 IList<IList<int>> ans = new List<IList<int>>(); 
 HashSet<string> set = new HashSet<string>();
 public IList<IList<int>> CombinationSum2(int[] candidates, int target) {
 var res = new List<int>(); 
 Array.Sort(candidates);
 
 Helper(candidates, target, res, 0);
 return ans;
 }
 
 private void Helper(int[] candidates, int target, List<int> res, int start){
 if(target == 0){ 
 var temp = new List<int>();
 foreach(var item in res){
 temp.Add(item);
 }
 ans.Add(temp); 
 return;
 }
 
 if(target < 0)
 {
 return;
 }
 
 for(int i=start;i<candidates.Length;i++){ 
 if(i>start && candidates[i]==candidates[i-1]){
 continue;
 } 
 res.Add(candidates[i]); 
 Helper(candidates, target-candidates[i], res, i+1);
 res.RemoveAt(res.Count()-1); 
 }
 }
 
}

Time Complexity: O(2^n)

Space Complexity: O(1)

Enjoyed this article?

Share it with someone who'd find it useful.

ShareWhatsAppPost on X

sumitc91

Published on 25 October 2020 · 1 min read · 181 words

Part of AskGif Blog · coding

You might also like

Combination Sum II - Array - Medium - LeetCode | AskGif Blog