Java“找到数组中和为target的组合(数字可重复)”问题描述如下: 给定一个数组nums=[2,3,5]和一个固定的值target=8。找出数组nums中所有可以使数字和java为target的组合(数字可重复)。 输出样例: {2,2,2,2} {3,5} {2,3,3}
时间: 2023-04-08 09:03:17 浏览: 89
从一组数中找出和为某数的所有组合
5星 · 资源好评率100%
ChatGPT: 这是一个计算问题,可以使用回溯算法来解决。以下是Java代码示例:
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;
}
if (target == 0) {
res.add(new ArrayList<>(temp));
return;
}
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);
}
}
阅读全文