题解 | #有重复项数字的全排列#
有重复项数字的全排列
https://www.nowcoder.com/practice/a43a2b986ef34843ac4fdd9159b69863
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param num int整型一维数组 # @return int整型二维数组 # class Solution: def permuteUnique(self , num: List[int]) -> List[List[int]]: # write code here if len(num) == 1: return [num] a = num [0] result = [] sub_results = self.permuteUnique(num[1:]) l = len(sub_results) for i in range(l): result.append([a]+sub_results[i]) for i in range(l): for j in range(1, len(num)): result.append(sub_results[i][0:j]+[a]+sub_results[i][j:]) new_li=[] for i in result: if i not in new_li: new_li.append(i) # print(new_li) new_li.sort() return new_li
借鉴没有重复数字的思路,我们只需要在获得有重复list以后去重,并排序
#我的实习求职记录#实习算法题题解 文章被收录于专栏
实习算法题