Backtracking
1 | class Solution { |
注意此题不能排序,导致同层去重时不能使用 nums[i] == nums[i - 1]
判断,所以引入了 Set 来判断重复。
Backtracking
1 | class Solution { |
通过对每个元素进行选与不选来驱动搜索。因为本题元素无序,所以我们比较的元素为上一个被选择的元素而不是索引减去 1 的元素,而对于重复的组合,是因为当两个元素值相同时,’选 -> 不选’ 和 ‘不选 -> 选’ 这两条路径导致了最后组合的重复,那么当当前的元素与之前被选择的元素值相同时,我们丢弃掉 ‘选 -> 不选’ 这条路径,即可实现组合去重。