1# Runtime: 136 ms (Top 31.20%) | Memory: 14.2 MB (Top 62.53%)2class Solution(object):3def permuteUnique(self, nums):4"""5:type nums: List[int]6:rtype: List[List[int]]7"""8if len(nums) == 1:9return [[nums[0]]]1011res = self.permuteUnique(nums[1:])1213for i in range(len(res) - 1, -1, -1):14j = 015while j < len(res[i]):16if res[i][j] == nums[0]: # to account for repeated nums17break18lst = res[i][:]19lst.insert(j, nums[0])20res.append(lst)21j += 12223res[i].insert(j, nums[0])2425return res