37. Subsets
3401 ワード
道しるべ
すべての部分集合を返します.
この問題は構造木,木によるDFSの問題で解決できる.
入力値が[1,2,3]の場合、以下の簡単なツリーを作成できます.
必要な結果はDFSで出力できます.
DFSコードを実装します.
パスpathを作成するとともに,インデックスを1つ増やすごとに深く探索する.
他の終了条件なしでナビゲーションが完了すると、関数は自動的に終了します.
一部のコレクションは、すべてのナビゲーションのパスが最終的に正しいことを示します.したがって、次のように、ナビゲーションのたびに結果を追加できます.
すべての部分集合
1.ツリー内のすべてのDFS結果
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
result = []
def dfs(index, path):
#매번 결과 추가
result.append(path)
#경로를 만들면서 DFS
for i in range(index, len(nums)):
dfs(i+1, path + [nums[i]])
dfs(0, [])
return result
この問題は構造木,木によるDFSの問題で解決できる.
入力値が[1,2,3]の場合、以下の簡単なツリーを作成できます.
必要な結果はDFSで出力できます.
DFSコードを実装します.
パスpathを作成するとともに,インデックスを1つ増やすごとに深く探索する.
他の終了条件なしでナビゲーションが完了すると、関数は自動的に終了します.
一部のコレクションは、すべてのナビゲーションのパスが最終的に正しいことを示します.したがって、次のように、ナビゲーションのたびに結果を追加できます.
Reference
この問題について(37. Subsets), 我々は、より多くの情報をここで見つけました https://velog.io/@corone_hi/37.-Subsetsテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol