“找到数组中和为target的组合(数字可重复)”问题描述如下: 给定一个数组num(java)
时间: 2023-04-12 17:00:24 浏览: 98
非常感谢您的提问。对于这个问题,可以使用回溯法来解决。具体实现可以参考以下代码:
```
public List<List<Integer>> combinationSum(int[] nums, int target) {
List<List<Integer>> res = new ArrayList<>();
backtrack(nums, target, res, new ArrayList<>(), 0);
return res;
}
private void backtrack(int[] nums, int target, List<List<Integer>> res, List<Integer> temp, int start) {
if (target < 0) {
return;
} else if (target == 0) {
res.add(new ArrayList<>(temp));
} else {
for (int i = start; i < nums.length; i++) {
temp.add(nums[i]);
backtrack(nums, target - nums[i], res, temp, i);
temp.remove(temp.size() - 1);
}
}
}
```
希望这个回答能够帮助到您。如果您有任何其他问题,欢迎随时提出。
阅读全文