博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
39. 组合总和 -LeetCode
阅读量:4992 次
发布时间:2019-06-12

本文共 869 字,大约阅读时间需要 2 分钟。

心得:尽量把不符合的条件过滤,然后进行回溯,以前用的是每次递归

都new一个链表,其实应该把一个链表传进去进行回溯。

代码:

class Solution {     public List
> combinationSum(int[] candidates, int target) { LinkedList
> list=new LinkedList<>(); if(candidates==null||candidates.length==0) return list; Arrays.sort(candidates); rec(0,list,new LinkedList
(),candidates,target); return list; } public void rec(int index,LinkedList
> list,LinkedList
tmp,int[] candidates,int target) { for(int i=index;i
0) { tmp.add(candidates[i]); rec(i,list,tmp,candidates,target-candidates[i]); tmp.removeLast(); } else { tmp.add(candidates[i]); LinkedList
b=new LinkedList<>(tmp); tmp.removeLast(); list.add(b); } } }}

 

转载于:https://www.cnblogs.com/pc-m/p/10948879.html

你可能感兴趣的文章
docker使用 命令
查看>>
关于C#操作INI文件的总结
查看>>
ZeptoLab Code Rush 2015 B. Om Nom and Dark Park
查看>>
ctci1.2
查看>>
[译]RabbitMQ教程C#版 - 路由
查看>>
升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
查看>>
调用API函数减少c#内存占用(20+m减至1m以下)
查看>>
Android:onNewIntent()触发机制及注意事项
查看>>
珠宝公司之感想
查看>>
项目问题
查看>>
scss侦听并压缩
查看>>
我有接口文档, 你有酒吗?
查看>>
iOS - Push 通知推送
查看>>
[FJOI2007]轮状病毒
查看>>
Azure AADSTS7000215 其中一种问题的解决
查看>>
关于吃苦
查看>>
uva 1629切蛋糕(dp)
查看>>
生成awr报告
查看>>
cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
查看>>
Android 深入解析光传感器(二)
查看>>