JAVA练习331- 组合总和 题目概览给你一个无重复元素的整数数组candidates和一个目标整数target找出candidates中可以使数字和为目标数target的 所有不同组合并以列表形式返回。你可以按任意顺序返回这些组合。candidates中的同一个数字可以无限制重复被选取。如果至少一个数字的被选数量不同则两种组合是不同的。对于给定的输入保证和为target的不同组合数少于150个。示例 1输入candidates [2,3,6,7], target 7输出[[2,2,3],[7]]解释2 和 3 可以形成一组候选2 2 3 7 。注意 2 可以使用多次。 7 也是一个候选 7 7 。 仅有这两种组合。示例 2输入:candidates [2,3,5], target 8输出:[[2,2,2,2],[2,3,3],[3,5]]示例 3输入:candidates [2], target 1输出:[]提示1 candidates.length 302 candidates[i] 40candidates的所有元素互不相同1 target 40来源39. 组合总和 - 力扣LeetCode解题分析方法回溯令当前索引为 i用集合 list 存储每次遍历得到的元素每次递归时遍历数组 candidates将元素加入 list 中然后 target - candidates[ i ]继续往下层遍历当 target 0 时存储 list 到最终结果中去当 target 0 时已没有可加的元素直接返回当 target 0 时继续重复以上操作遍历递归当下层遍历完成后将当前元素移除 list然后 target candidates[ i ]继续遍历下一个元素直到所有元素遍历完成返回结果。时间复杂度O(S) ( S 为所有可行解的长度之和 )空间复杂度O(target)class Solution { public ListListInteger combinationSum(int[] candidates, int target) { ListListInteger result new ArrayList(); backTracking(candidates, target, result, new ArrayList(), 0, candidates.length); return result; } public void backTracking(int[] candidates, int target, ListListInteger result, ListInteger list, int index, int n) { if (target 0) { result.add(new ArrayList(list)); return; } if (target 0) { return; } for (int i index; i n; i) { list.add(candidates[i]); target - candidates[i]; backTracking(candidates, target, result, list, i, n); list.remove(list.size()-1); target candidates[i]; } } }

相关新闻

最新新闻

行星齿轮旋转台非标设计:从参数计算到装配调试避坑指南

行星齿轮旋转台非标设计:从参数计算到装配调试避坑指南

前几天接到一个非标需求:做一套旋转台,直径六百左右,要撑得住偏载工件,转速不快,但需要轴心贯穿留孔走气走线,交付周期卡得死。常规做法是买凸轮分割器或谐波转台,但要么交期对不上,…

2026/9/9 7:26:29
每日一练40-42题:逻辑推理、数据计算与结构化表达深度解析

每日一练40-42题:逻辑推理、数据计算与结构化表达深度解析

很多人看到“2月1日(40-42题)”这行字,第一反应是好奇:这是什么题库?哪个考试?说实话,这更像是我自己运营的每日一练社群里的一个进度标记。2月1日,我们的训练已经推进到了第40到42题…

2026/9/9 7:26:29
汽车应急启动电源怎么选?实测6款看峰值电流与电芯安全

汽车应急启动电源怎么选?实测6款看峰值电流与电芯安全

汽车应急启动电源怎么选?先说结论:这玩意儿不是看谁广告响、谁外观炫,核心就三件事——峰值电流够不够、电芯容量虚不虚标、安全保护到不到位。2026年开春,我花了两个月时间,把市面上卖得最火的6款应急启动电源全买回来…

2026/9/9 7:26:29
降AI率实战指南:十大改写助手与论文人工润色技巧

降AI率实战指南:十大改写助手与论文人工润色技巧

开头先聊点实际的。2026届的朋友们,现在写毕业论文、做课程设计、投期刊论文,最头疼的早不是查重那点事了,而是各种AI检测系统。我今年帮实验室几个师弟师妹改论文,几乎每个人都遇到同一个问题:内容明明是自己一个字一…

2026/9/9 7:26:29
深入runtime.Callers:Go调用栈采集与错误排查实战

深入runtime.Callers:Go调用栈采集与错误排查实战

你有没有遇到过这种场景:线上日志里弹出一行 ERROR,内容看起来像某个深层调用链里报出来的,但日志里只打了错误文本,没有打“这个错误到底是从哪一层钻进来的”。你盯着那行日志看了半天,只能靠猜,猜完还发…

2026/9/9 7:26:28
Spring Cloud Gateway 和 Nginx 是重复吗?职责分工与协作实践

Spring Cloud Gateway 和 Nginx 是重复吗?职责分工与协作实践

前阵子团队做技术评审,新来的同事盯着架构图看了一会儿,问了个很经典的问题:“我们已经上了 Spring Cloud Gateway,为什么架构里还要画一个 Nginx?Gateway 不也是网关吗?是不是重复了?”会议室里…

2026/9/9 7:21:28