39. Combination Sum - LeetCode
2024-09-05 01:23:40
Question
Solution
分析:以candidates = [2,3,5], target=8来分析这个问题的实现,反向思考,用target 8减2,3,5这三个数,等到target为0的时候,所减过的数就是我们要求的一个结果。
Java实现:
public List<List<Integer>> combinationSum(int[] candidates, int target) {
List<List<Integer>> result = new ArrayList<>();
Arrays.sort(candidates); // 排序
search(candidates, target, result, new ArrayList<>(), 0);
return result;
}
private void search(int[] candidates, int target, List<List<Integer>> ans, List<Integer> cur, int start) {
if (target == 0) {
ans.add(new ArrayList<>(cur)); // 浅拷贝
return;
}
for (int i=start; i<candidates.length; i++) {
if (candidates[i] > target) break;
cur.add(candidates[i]);
search(candidates, target - candidates[i], ans, cur, i);
cur.remove(cur.size() - 1);
}
}
Reference
最新文章
- 【整理】Word OpenXML常用标签
- idea之internal java compiler error
- kkjcre1p: unable to spawn jobq slave process, slot 0, error 1089(Linux x86_64)补丁
- [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)
- Html技巧 语义化你的代码
- HorizontalScrollView
- MySql数据库索引原理
- Spring AOP (上)
- autocapticalize和autocorrect
- Spark安装和配置
- python百科
- passwd命令限制用户密码到期时间
- console调试--转
- IAR和Keil文件包含路径设置
- 关于java和c++中的i++
- 深度学习系列 Part (2)
- ./graldew bash: ./gradlew: No such file or directory
- Linux网络协议栈(一)——Socket入门(2)
- THML DOM / Element 对象操作
- Xilinx FFT IP v9.0 使用
热门文章
- 路径规划—BUG算法
- 2_状态空间_State Space
- USB3.0接口EMC设计标准电路
- APICloud案例源码、模块源码、考试源码、开发工具大集合!赶快收藏
- React系列——websocket群聊系统在react的实现
- 一个动态波浪纹Android界面
- Android 预置APK
- 小程序安卓端播放不了音频解决方法wx.createInnerAudioContext()
- 【零碎小bug系列】安卓开发是遇到空指针异常java.lang.NullPointerException: Attempt to invoke...
- 解决关于ARM_MATH数学库宏定义的报错