LeetCode 40.Combination Sum II
来源:互联网 发布:米兔积木机器人 编程 编辑:程序博客网 时间:2024/06/05 21:04
import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class Test40 {public static void main(String[] args) {int[] candidates = {10, 1, 2, 7, 6, 1, 5};System.out.println(combinationSum2(candidates, 8));}public static List<List<Integer>> combinationSum2(int[] candidates, int target) {Arrays.sort(candidates);List<List<Integer>> result = new ArrayList<>();getResult(result, new ArrayList<>(), candidates, target, 0);return result; }public static void getResult(List<List<Integer>> result, List<Integer> list, int[] c, int target, int start){if(target > 0){for(int i = start; i < c.length && target >= c[i]; i++){list.add(c[i]);getResult(result, list, c, target - c[i], i + 1);while((i + 1 < c.length) && (c[i] == c[i + 1])) //判断重复值i++;list.remove(list.size() - 1);}}else if(target == 0)result.add(new ArrayList<>(list));}}这个题目跟39很像,只是这个不允许重复出现,那么只需在递归调用的时候start的位置设置为 i+1即可,在后面跟判断重复值不在出现。
阅读全文
1 0
- [LeetCode]40.Combination Sum II
- LeetCode --- 40. Combination Sum II
- LeetCode 40.Combination Sum II
- [Leetcode] 40. Combination Sum II
- LeetCode 40. Combination Sum II
- [leetcode] 40. Combination Sum II
- 40. Combination Sum II LeetCode
- leetcode 40. Combination Sum II
- Leetcode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- leetcode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- LeetCode 40. Combination Sum II
- LeetCode *** 40. Combination Sum II
- 【LeetCode】40. Combination Sum II
- leetcode 40. Combination Sum II
- LeetCode - 40. Combination Sum II
- [LeetCode] 40. Combination Sum II
- Centos 7 如何搭建MySQL
- 记忆训练一书的思维导图
- LDA 主题模型
- 自己看的算法纲要
- 谷歌面试题
- LeetCode 40.Combination Sum II
- 【Java基础】java类加载过程
- Python 数字操作
- User32-SendInput模拟数字键盘发送到文本框-32位和64位兼容问题
- jquery 图片轮播插件unslider
- Android7.0打包安装问题
- Tomcat设置运行jvm编码
- [Hadoop][2017-06-27] lzo.lzocodec not found
- new 与molloc