我是靠谱客的博主 唠叨泥猴桃,最近开发中收集的这篇文章主要介绍用java实现combin函数_【算法-Java实现】组合总和,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【算法-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

最后

以上就是唠叨泥猴桃为你收集整理的用java实现combin函数_【算法-Java实现】组合总和的全部内容,希望文章能够帮你解决用java实现combin函数_【算法-Java实现】组合总和所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部