class Solution:
"""
@param nums: A list of Integers.
@return: A list of permutations.
"""
def permute(self, nums):
def helper(current=[]):
if len(current) == len(nums):
r.append(current)
return
for i in range(len(nums)):
if nums[i] in used:
continue
used.add(nums[i])
helper(current + [nums[i]])
used.remove(nums[i])
r = []
used = set()
helper([])
return r
class Solution:
"""
@param: nums: A list of integers.
@return: A list of permutations.
"""
def permute(self, nums):
def helper(current, remains):
if not remains:
result.append(current)
return
for i, n in enumerate(remains):
helper(current + [n], remains[:i] + remains[i+1:])
result = []
helper([], nums)
return result