Medium
Given candidates (which may contain duplicates) and a target, return all unique combinations summing to target. Each candidate may be used at most once.
Input: candidates = [10,1,2,7,6,1,5], target = 8 Output: [[1,1,6],[1,2,5],[1,7],[2,6]]
Input: candidates = [2,5,2,1,2], target = 5 Output: [[1,2,2],[5]]