#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param num int整型一维数组 
# @return int整型二维数组
#
class Solution:
    def search(self,left,has):
        if len(left)==0:
            return [has]
        thisres = []
        for i in range(len(left)):
            newleft = left[:i]+left[i+1:]
            searchres = self.search(newleft,has+[left[i]])
            thisres += searchres
        return thisres

    def permuteUnique(self , num: List[int]) -> List[List[int]]:
        # write code here
        allres = self.search(num,[])
        newres = []
        for i in allres:
            if i not in newres:
                newres.append(i)
        allres = sorted(newres)
        return allres