90. 子集 II 回溯算法
回溯算法重点:
1. 跳出条件,nums中元素用完
2. 递归的岔路: 加入元素/不加入元素
helper(curList+[nums[i]], nums[1:]) / helper(curList, nums[1:] )
3.如果是求排列问题,则不能sort,因为lists中元素一样,只是排列不一样
如果是求子集,就要sort,因为具有相同元素的两个子集为同一子集,需要sort去重
回溯算法重点:
1. 跳出条件,nums中元素用完
2. 递归的岔路: 加入元素/不加入元素
helper(curList+[nums[i]], nums[1:]) / helper(curList, nums[1:] )
3.如果是求排列问题,则不能sort,因为lists中元素一样,只是排列不一样
如果是求子集,就要sort,因为具有相同元素的两个子集为同一子集,需要sort去重