欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 组合Ⅲ 力扣216

组合Ⅲ 力扣216

2025/11/10 17:40:45 来源:https://blog.csdn.net/qq_65031432/article/details/146275471  浏览:    关键词:组合Ⅲ 力扣216

一、题目

        

二、思想

        依旧是回溯算法的运用,遵从回溯模板!

三、代码

class Solution {List<List<Integer>> result= new ArrayList<>();LinkedList<Integer> path = new LinkedList<>();int sum = 0;public List<List<Integer>> combinationSum3(int k, int n) {backTracking(n,k,1);return result;}public void backTracking(int targetSum,int k,int startIndex){//剪枝if (sum > targetSum) {return;}//4.回溯函数终止条件if(path.size() == k ) {if (sum == targetSum) result.add(new ArrayList<>(path));//5.返回上一层,叶子节点的上一层return;}//6.剪枝for(int i = startIndex;i <= 9 - (k - path.size()) + 1;i++){//7.增加节点,统计总和sum += i;path.add(i);//8.往下搜backTracking(targetSum,k,i+1);//9.回溯撤销处理结果path.removeLast();sum -= i;}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词