給定一組不含重複元素的整數陣列 nums,返回該陣列所有可能的子集(冪集)。
說明:解集不能包含重複的子集。
示例:輸入: nums = [1,2,3]
輸出:[
[3],
[1],
[2],
[1,2,3],
[1,3],
[2,3],
[1,2],
]思路:回溯演算法,以例子為例,每個位置都會出現1,2,3三種數字,那麼每一層就是乙個迴圈,選擇乙個數字,進入下一層。重複操作。每次從下一層回溯上來,都要刪除從這一層下去時新增的值,直到第一層的數字為3時,並完成了操作,就回溯結束。返回最終結果。
public list
>
subsets
(int
nums)
public
void
dfs(
int[
] nums,
int index,list res,list temp)
for(
int i=index;i)}
LeetCode每日一題 分割等和子集
題目 給定乙個只包含正整數的非空陣列。是否可以將這個陣列分割成兩個子集,使得兩個子集的元素和相等。注意 每個陣列中的元素不會超過 100 陣列的大小不會超過 200 示例 1 輸入 1,5,11,5 輸出 true 解釋 陣列可以分割成 1,5,5 和 11 示例 2 輸入 1,2,3,5 輸出 f...
每日一題 掩碼求子集
先來看78題 子集 給你乙個整數陣列nums 陣列中的元素互不相同。返回該陣列所有可能的子集 冪集 解集不能包含重複的子集。你可以按任意順序返回解集。遍歷位置掩碼即可得到子集 今日每日一題 猜字謎 外國友人仿照中國字謎設計了乙個英文版猜字謎小遊戲,請你來猜猜看吧。字謎的迷面 puzzle 按字串形式...
每日一題 LeetCode
在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。示例 1 輸入 7,5,6,4 輸出 5 限制 0 陣列長度 50000 思想是 分治演算法 所有的 逆序對 於 3 個部分 左邊區間的逆序對 右邊區間的逆序對 橫跨兩個區間的...