用java实现combin函数_【算法-Java实现】组合总和

用java实现combin函数_【算法-Java实现】组合总和算法 Java 实现 组合总和 一 问题描述 给定一个无重复元素的数组 candidates 和一个目标数 target 找出 candidates 中所有可以使数字和为 target 的组合 candidates 中的数字可以无限制重复被选取 比如 输入 2 3 6 7 输出 7 2 2 3 输入 3 4 5 6 7 8

大家好,我是讯享网,很高兴认识大家。

【算法-Java实现】组合总和

一.问题描述:

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。

比如:

输入:[2,3,6,7];输出:[[7], [2, 2, 3]]

输入:[3,4,5,6,7,8,9];输出:[[8], [4, 4], [3, 5]]

本题来源:力扣39

二.问题解答:

思路:搜索回溯

递归函数结构体:

dfs(int[] candidates,int target,List ans,List combine,int index)


讯享网

candidates:输入的数组;

target:目标值;

ans:返回的结果;

combine:返回结果的子结果(可行解);

index:数组下标(从0开始进行递归)

使用递归,两种情况:

1.dfs( candidates, target, ans,combine,index+1):每一次递归都对index加1,接着进行递归;

递归终止条件:index==candidates.length;

2.对元素大小进行判断,若candidates[index]

进行递归:dfs(candidate

小讯
上一篇 2025-02-18 17:00
下一篇 2025-02-11 15:28

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75517.html