'''
解题思路:
全排列搜索 for i in range(len(num)), dfs(num[:i]+num[i+1:],res+[num[i]])
特别注意: dfs()函数的第一个参数,是排除当前字符的新数组
'''
# @param num int整型一维数组
# @return int整型二维数组
#
class Solution:
def permuteUnique(self , num ):
# write code here
res = []
out = []
def dfs(num,res):
if not num:
if res not in out:
out.append(res)
for i in range(len(num)):
dfs(num[:i]+num[i+1:],res+[num[i]])
dfs(num,res)
#print(out)
return out
#Solution().permuteUnique([1,1,2]) # [[1,1,2],[1,2,1],[2,1,1]]
京公网安备 11010502036488号