- 문제 링크: https://leetcode.com/problems/subsets/
- 난이도: Medium
모든 조합을 반환하는 문제. backtrack 기초인데, 앞에서부터 하나씩 넣기 or 안넣기 하면서 모든 경우의 수를 구하면 된다
class Solution:
def subsets(self, nums: List[int]) -> List[List[int]]:
sz = len(nums)
res = []
def backtrack(cur: int, picked: List[int]):
if cur == sz:
res.append(picked)
return
backtrack(cur+1, picked)
backtrack(cur+1, picked + [nums[cur]])
backtrack(0, [])
return res
반응형
'Online Judge > LeetCode' 카테고리의 다른 글
[LeetCode][Python] 543. Diameter of Binary Tree (0) | 2024.09.17 |
---|---|
[LeetCode][Python] 104. Maximum Depth of Binary Tree (0) | 2024.09.16 |
[LeetCode][Python] 226. Invert Binary Tree (0) | 2024.09.16 |
[LeetCode][Python] 19. Remove Nth Node From End of List (0) | 2024.09.13 |
[LeetCode][Python] 21. Merge Two Sorted Lists (0) | 2024.09.11 |