파이썬 알고리즘 인터뷰 문제 34번(리트코드 46번) Permutations
https://leetcode.com/problems/permutations/
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
result = []
def helper(path):
if len(path) == len(nums):
result.append(path)
return
for num in nums:
if num not in path:
helper(path + [num])
helper([])
return result
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
result = []
def helper(path):
if len(path) == len(nums):
result.append(path[:])
return
for num in nums:
if num not in path:
path.append(num)
helper(path)
path.pop()
helper([])
return result
class Solution:
def permute(self, nums: List[int]) -> List[List[int]]:
result = []
prev = []
def helper(elements):
if len(elements) == 0:
result.append(prev[:])
for e in elements:
next_element = elements[:]
next_element.remove(e)
prev.append(e)
helper(next_element)
prev.pop()
helper(nums)
return result