Java實現-帶重複元素的子集
給定一個可能具有重複數字的列表,返回其所有可能的子集
注意事項
- 子集中的每個元素都是非降序的
- 兩個子集間的順序是無關緊要的
- 解集中不能包含重複子集
樣例
如果 S = [1,2,2]
,一個可能的答案為:
[
[2],
[1],
[1,2,2],
[2,2],
[1,2],
[]
]
class Solution {
/**
* @param nums: A set of numbers.
* @return: A list of lists. All valid subsets.
*/
public ArrayList<ArrayList<Integer>> subsetsWithDup(int[] nums) {
// write your code here
Arrays.sort(nums);
ArrayList<ArrayList<Integer>> result=new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> tempList=new ArrayList<Integer>();
backTracking(nums, 0, result, tempList);
return result;
}
private static void backTracking(int[] nums, int start, ArrayList<ArrayList<Integer>> result, ArrayList<Integer> tempList){
result.add(new ArrayList<Integer>(tempList));
for(int i=start;i<nums.length;i++){
if(i>start&&nums[i]==nums[i-1]){
continue;
}else{
tempList.add(nums[i]);
backTracking(nums, i+1, result, tempList);
tempList.remove(tempList.size()-1);
}
}
}
}
相關文章
- Java實現-子集Java
- java陣列中重複元素的去重Java陣列
- 存在重複元素
- 好程式設計師分享HashSet實現去除重複元素程式設計師
- JAVA 如何實現大文字去除重複行Java
- Java基礎之去除List集合中的重複元素Java
- Java刪除ArrayList中的重複元素的2種方法Java
- (c語言實現)刪除有序連結串列中重複出現的元素C語言
- 有重複元素的全排列
- Java stream判斷列表是否包含某幾個元素/重複元素Java
- 查詢Set中重複的元素
- 961. 重複 N 次的元素
- 使用HashSet<>去除重複元素的集合
- 有重複元素的排列問題
- 【Java面試題】54 去掉一個Vector集合中重複的元素Java面試題
- 如何刪除ArrayList中的重複元素
- 力扣之存在重複元素力扣
- Java之ArrayList去除重複元素(包括字串和自定義物件)Java字串物件
- js刪除陣列中重複的元素JS陣列
- js刪除陣列中的重複元素JS陣列
- 如何去除有序陣列中的重複元素陣列
- Java+Ajax實現使用者名稱重複檢驗Java
- JavaScript 刪除陣列重複元素JavaScript陣列
- 220、存在重複元素Ⅲ(中等)
- Remove Duplicate Letters 刪除重複元素REM
- JavaScript陣列刪除重複元素JavaScript陣列
- 演算法練習:求字串的最長重複子串(Java實現)演算法字串Java
- 2-58. 實現農作物的重複收割
- 計蒜客 移除陣列中的重複元素陣列
- 小測試:HashSet可以插入重複的元素嗎?
- ES6刪除字串中重複的元素字串
- 在陣列中找出唯一的重複元素陣列
- Java使用Redis實現分散式鎖來防止重複提交問題JavaRedis分散式
- PHP陣列去除空白或重複元素PHP陣列
- LeetCode 存在重複元素之JavaScriptLeetCodeJavaScript
- 面試官:怎麼刪除 HashMap 中的重複元素?第 3 種實現思路,99% 的人不會!面試HashMap
- js 的陣列去除重複元素程式碼例項JS陣列
- javascript刪除陣列中的重複元素程式碼JavaScript陣列