对candidates进行递减排序,从最大的元素开始依次与target进行比较
有三种情况出现:
1,元素>target:该元素不可选,跳过该元素
2,元素==target:选择该元素后,所构成的一个vec元素组合之和满足等于target
3,元素<target:该元素可能构成满足条件的vec元素组合,将元素放入vec中,对target=target-该元素 进行递归处理,
需要注意的地方:什么时候从vec的放入元素和拿出元素。放入一个元素后,如果之后的递归处理无法最终满足条件,那么应该回溯,再将该元素拿出来,放入下一个元素。该题还有另一个约束:即每个元素只能放入一次,但是candidates中某些元素会有多个。在第n次递归时,用到了元素e,则在n+1次递归时还可以用使用元素e,但是在第n次递归之后再选择元素时,就不能再选择元素e了。
力扣40组合综合II
最新推荐文章于 2023-12-13 21:49:03 发布