1.我尝试了如下代码,但是遇到while(i
List> res;
public List> combinationSum2(int[] candidates, int target) {
res = new LinkedList>();
List tmp = new LinkedList();
Arrays.sort(candidates);
helper(candidates,target,0,tmp);
return res;
}
private void helper(int[]nums,int target,int index,List tmp){
if(target<0){
return;
}else if(target == 0){
List oneComb = new LinkedList(tmp);
res.add(oneComb);
}else{
for(int i = index; i < nums.length; i++){
tmp.add(nums[i]);
helper(nums, target - nums[i], i+1, tmp);
tmp.remove(tmp.size() - 1);
while(i < nums.length&&nums[i] == nums[++i]);
}
}
}
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
业精于勤,荒于嬉;行成于思,毁于随。