IV. Permutations and Subsets
Back Tracing Algorithm
Subsets coding:
class Solution:
def helper(self, nums, index, level, result):
# stop condition
if index == len(nums):
return
# regular case
for i in range (index, len(nums)):
level.append(nums[i])
result.append(level[:])
self.helper(nums, i+1, level, result)
level.pop()
def subsets(self, nums: List[int]) -> List[List[int]]:
# edge case
result = []
result.append([])
if len(nums) == 0:
return nums
# regular case
level = []
self.helper(nums, 0, level, result)
return resultPermutation:
When using the above methods, think about three questions:
Difference between Subsets and Permutation:
常见的变形题:
Last updated