https://leetcode-cn.com/probl...解题思路cnts是每个数字出现的次数。每次用到一个数,就尝试用1、2……,直到用完为止。另外,不允许连续两次选择同一个数代码类解决方法:defpermuteUnique(self,nums:List[int])->List[List[int]]:importcollectionsn=len(nums)cnts=collections.Counter(nums)nums=list(cnts.keys())l=[0]*nans=[]defdfs(i):如果我==n:ans.append(l[::])returnfornuminnums:ifi>0andl[i-1]==num:continueoc=cnts[num]ifoc>0:j=0whilecnts[num]>0:cnts[num]-=1l[i+j]=numdfs(i+j+1)j+=1cnts[num]=ocdfs(0)returnans欢迎来到我的博客:https://codeplot.top/我的博客刷题目分类:https://codeplot.top/categories/%E5%88%B7%E9%A2%98/
