# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num int整型一维数组 # @return int整型二维数组 # class Solution: def permuteUnique(self, num: List[int]) -> List[List[int]]: n = len(num) ans = set() path = [] def backtrack(nums, i): if i == n: ans.add(tuple(path.copy())) # 用元组存储,保证可哈希 return for x in nums: path.append(x) new_nums = nums.copy() new_nums.remove(x) # 移除已选元素 backtrack(new_nums, i + 1) path.pop() backtrack(num, 0) # 先转换为列表,再排序(按字典序),最后每个元组转回列表 sorted_ans = sorted(ans) return [list(item) for item in sorted_ans]