Programming/leetcode
78. Subsets
홍열
2021. 3. 3. 14:41
728x90
주어진 배열의 모든 부분 set을 출력하는 문제
dfs를 호출할 때, cur_lst + [num[i]]와 cur_lst.append(nums[i])가 무슨 차이가 있을까?
cur_lst + [num[i]] -> 새로운 주소에 list가 만들어지고
cur_lst.append(nums[i]) -> 기존 주소에 nums[i]를 추가한다.
이해가 잘 되지 않아, 저자에게 질문을 했다.
def subsets(self, nums: List[int]) -> List[List[int]]:
results = []
def dfs(cur_lst, index):
results.append(cur_lst)
for i in range(index, len(nums)):
dfs(cur_lst+[nums[i]], i+1)
dfs([], 0)
return results