Question
Given a collection of numbers, nums, that might contain duplicates, return all possible unique permutations in any order.
Example 1:
Input: nums = [1,1,2] Output: [[1,1,2], [1,2,1], [2,1,1]]
Example 2:
Input: nums = [1,2,3] Output: [[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
Constraints:
1 <= nums.length <= 8-10 <= nums[i] <= 10
Python Solution
class Solution:
def permuteUnique(self, nums):
if len(nums)==0:
return []
result = []
nums.sort()
return self.recursive(nums,0,result)
def recursive(self, nums, start, result):
myset = set()
if start>=len(nums)-1:
#print(start,nums)
result.append(nums[:])
return result
for i in range(start,len(nums)):
#print(start,i)
if nums[i] not in myset:
myset.add(nums[i])
nums[start], nums[i] = nums[i], nums[start]
self.recursive(nums,start+1,result)
nums[start], nums[i] = nums[i], nums[start]
return result

![[Solved] You are given an integer n and an integer start. Define an array nums where nums[i] = start + 2 * i (0-indexed) and n == nums.length. Return the bitwise XOR of all elements of nums.](https://machinelearningprojects.net/wp-content/uploads/2022/09/Leetcode-solutions-MLP-Feature-Image-1024x536.webp)