給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:
輸入: nums = [1,2,3]
輸出:[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
]幫助理解:
newsets:
[[1]]
[[2]]
[[2], [1, 2]]
[[3]]
[[3], [1, 3]]
[[3], [1, 3], [2, 3]]
[[3], [1, 3], [2, 3], [1, 2, 3]]
outputs:
[ ] + [ [1] ] = [ , [1] ]
[ , [1] ] + [ [2] , [1,2] ] = [ , [1] , [2] , [1 , 2] ]
[ , [1] , [2] , [1 , 2] ] + [ [3] , [1 , 3] , [2 , 3] , [1 , 2 , 3 ] ] = 結果
[,[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]
class
solution
outputs.
addall
(newsets);}
return outputs;
}}
class
solution
private
void
dfs(arraylist
curr,
int index)
// prosess the local logic
dfs(curr, index +1)
;// not pick the number at this index
curr.
add(nums[index]);
dfs(curr, index +1)
;// pick the number at this index
// reverse the current state
curr.
remove
(curr.
size()
-1);
}}
LeetCode第78題子集
題目描述 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。解題思路 對於backtrack函式 1 新增結果 2 for語句,在選擇列表中選擇 做選擇 templist.add nums i 回溯,進入下一層 backtrack list,te...
子集(力扣第78題)
題目 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 分析 子集的大小可以是從0到nums.length,也就是可以為空集,也可以和原始集合一模一樣。此題還...
leetcode題 78 子集(中等)
一 題目描述 78.子集 中等 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 二 解題思路 方法一 遇到乙個數就把之前所有子集加上該數組成新的子集,遍歷完...