Monday, March 19, 2018
18. Subsets II
public class Solution {
/**
* @param nums: A set of numbers.
* @return: A list of lists. All valid subsets.
*/
public List<List<Integer>> subsetsWithDup(int[] nums) {
// write your code here
List<List<Integer>> rst = new ArrayList<>();
Arrays.sort(nums);
List<Integer> prev = new ArrayList<>();
helper(prev, 0, nums, rst);
return rst;
}
private void helper(List<Integer> subset, int start, int[] nums, List<List<Integer>> rst) {
rst.add(new ArrayList<Integer>(subset));
for(int i = start; i < nums.length; i++) {
if (i != start && nums[i]==nums[i-1]) {
continue;
}
List<Integer> cur = new LinkedList<>(subset);
cur.add(nums[i]);
helper(cur, i+1, nums, rst);
// [1,2] -> [1] 回溯
cur.remove(cur.size() - 1);
}
}
}
Subscribe to:
Post Comments (Atom)
4. Ugly Number
1*2(t2) 2*2 3*2 (t3)1*3 2*3 3*3 (t5)1*5 2*5 3*5 1*2 2*2(t2) 3*2 1*3(t3) 2*3 3*3 (t5)1*5 2*5 3*5 Solution: public int nthUglyNumbe...
-
1*2(t2) 2*2 3*2 (t3)1*3 2*3 3*3 (t5)1*5 2*5 3*5 1*2 2*2(t2) 3*2 1*3(t3) 2*3 3*3 (t5)1*5 2*5 3*5 Solution: public int nthUglyNumbe...
-
Question: Given string A representative a positive integer which has N digits, remove any k digits of the number, the remaining digit...
-
Thinking: binary Tree 和 Stringbuilder 的联合题 对Stringbuilder 和StringTokenizer的使用方法的考验 public String serialize(TreeNode root) { ...
No comments:
Post a Comment