小白笔记----------------------------------------leetcode(40. Combination Sum II )
来源:互联网 发布:js继承 阮一峰 编辑:程序博客网 时间:2024/05/19 02:01
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations inC where the candidate numbers sums to T.
Each number in C may only be used once in the combination.
Note:
- All numbers (including target) will be positive integers.
- The solution set must not contain duplicate combinations.
For example, given candidate set [10, 1, 2, 7, 6, 1, 5]
and target8
,
A solution set is:
[ [1, 7], [1, 2, 5], [2, 6], [1, 1, 6]]这一题与之前的问题1来说, 只是不能重复使用数,所以在递归的时候i+1,而且因为有相同的数,为了规避这种情况引发的多个相同的解,要再遇到同样的数的时候跳过。class Solution { public List<List<Integer>> combinationSum2(int[] candidates, int target) { Arrays.sort(candidates); List<List<Integer>> result = new ArrayList(); backtrack(result,new ArrayList<Integer>(),candidates,target,0); return result; } public void backtrack(List<List<Integer>> result,List<Integer> list,int[] candidates,int target,int start){ if(target == 0){ result.add(new ArrayList(list)); } if(target > 0){ for(int i = start;i < candidates.length && target >= candidates[i];i++){ if (i > start && candidates[i] == candidates[i - 1]){//如果是相同的数就可能引发同样的结果,所以将这种情况跳过 continue; } list.add(candidates[i]); backtrack(result,list,candidates,target- candidates[i],i+1); list.remove(list.size()-1); } } } }
阅读全文
0 0
- 小白笔记----------------------------------------leetcode(40. Combination Sum II )
- leetcode笔记:Combination Sum II
- 小白笔记----------------------------------------leetcode(39. Combination Sum )
- [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
- 选择
- Spark的架构和任务调度
- jrtplib库使用简解
- leetcode 234. Palindrome Linked List
- C语言基础程序(一):野指针
- 小白笔记----------------------------------------leetcode(40. Combination Sum II )
- Calendar转换字符串
- ajax用法总结
- pandas数据合并
- ubuntu14.04 连网线无法上网
- 句柄的真正理解
- 26. Remove Duplicates from Sorted Array
- 最不可思议的10个硬件开源项目
- 动态规划(一)DynamicProgramming