90. Subsets II - Medium
前往題目
想法
- 以為是簡單的
backtrack
,但是需要考慮如何防止加入重複的subset
思路
- 先
sort
,這樣才好判斷相同的數字 - 正常
backtrack
- 唯一需要注意的是追蹤
index
,如果循環中的index
已經比傳入的index
還大的時候就要判斷是否和前一個數字一樣,要跳過
判斷的邏輯很妙,尤其是i > idx
,後來想了想應該是i == idx
的時候不用判斷,因為還沒加入,加入後下一個循環就要看是否和上一個循環的數字一樣了
T: $O(n * 2^n)$,因為每一個可能都要列出來,只是把重複的跳過而已,有n
個數字,每個都要決定加入或不加入,也就是兩個選擇
Code
90. Subsets II - Medium
https://f88083.github.io/2024/02/12/90-Subsets-II-Medium/