leetcode 全排列2
阿新 • • 發佈:2019-01-26
給定一個可包含重複數字的序列,返回所有不重複的全排列。
示例:
輸入: [1,1,2] 輸出: [ [1,1,2], [1,2,1], [2,1,1] ]
class Solution: def permuteUnique(self, nums): """ :type nums: List[int] :rtype: List[List[int]] """ res = [[]] for ele in nums: res_tmp = [] for numbers in res: for i in range(len(numbers) + 1): res_tmp.append(numbers[:i] + [ele] + numbers[i:]) if i < len(numbers) and numbers[i] == ele: break res = res_tmp return res
感覺這種演算法,只能感覺想出這種想法的真他麼牛逼,但是我是怎麼也想不到的。。。