Java實現-子集
給定一個含不同整數的集合,返回其所有的子集
注意事項
子集中的元素排列必須是非降序的,解集必須不包含重複的子集
樣例
如果 S = [1,2,3]
,有如下的解:
[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
[]
]
class Solution {
/**
* @param S: A set of numbers.
* @return: A list of lists. All valid subsets.
*/
public ArrayList<ArrayList<Integer>> subsets(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++){
tempList.add(nums[i]);
backTracking(nums, i+1, result, tempList);
tempList.remove(tempList.size()-1);
}
}
}
相關文章
- Java實現-帶重複元素的子集Java
- 式子集錦
- jquery 查詢子集jQuery
- java實現樹Java
- [LeetCode]78. 子集LeetCode
- 快速排序 java實現排序Java
- JAVA AQS 實現原理JavaAQS
- java實現快速排序Java排序
- PAT-A Java實現Java
- 快速排序(java實現)排序Java
- Java實現-全排列Java
- 伸展樹Java實現Java
- 希爾排序java實現排序Java
- LeetCode-078-子集LeetCode
- C 判斷字串是否是子集字串
- java實現兩個文字相似度 simHash 實現Java
- Java實現DDD中UnitOfWorkJava
- Java實現非同步呼叫Java非同步
- Java實現氣泡排序Java排序
- JAVA實現節流閥Java
- java實現UDP通訊JavaUDP
- Java實現工廠模式Java模式
- 字首樹及其Java實現Java
- Java實現貪吃蛇Java
- Java 實現 markdown轉HtmlJavaHTML
- 並查集java實現並查集Java
- 並查集-Java實現並查集Java
- Java實現Http請求JavaHTTP
- Java 實現彙總排序Java排序
- 使用 Java實現mTLS呼叫JavaTLS
- Java實現順序表Java
- Java Web 分頁實現JavaWeb
- 選擇排序java實現排序Java
- 氣泡排序java實現排序Java
- 插入排序java實現排序Java
- java文件線上播放實現Java
- java實現驗證碼Java
- LRU快取實現(Java)快取Java