一開始我想使用全排列的思路來解決這道題目,但是會出現重複遍歷的問題。
這道題可以考慮使用當前選不選該數來決定該數計不計入當前的排列。
注意遞迴出口,不能直接將list加入result中,而是需要新建乙個list再加入結果列表中。
class solution
public void dfs(int nums, int pos, arraylistlist)
//考慮第pos個數
list.add(nums[pos]);
dfs(nums, pos+1, list);
list.remove(list.size()-1);
//不考慮第pos個數
dfs(nums, pos+1, list);}}
LeetCode題解 78 子集
給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。示例 輸入 nums 1,2,3 輸出 3 1 2 1,2,3 1,3 2,3 1,2 與 leetcode題解 77.組合 的解法很相似 組合的問題 排行有多少種 共2 n種 建立每一種位串到陣...
78 子集 畫重點
題目 給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 使用庫函式 def subsets self,nums list int list list int res for i in range len nums 1 for tmp in itertools.combinat...
力扣 78 子集
給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集 冪集 說明 解集不能包含重複的子集。該題目來自力扣題庫 示例輸入 nums 1,2,3 輸出 1 2 1,2 3 1,3 2,3 1,2,3 思路使用位圖法 如果該陣列的長度是n,那麼該陣列的所有子集數目是2 n.使用兩層迴圈,外層...