包含重复数字序列的全排列Python解法
生活随笔
收集整理的這篇文章主要介紹了
包含重复数字序列的全排列Python解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
給定一個可包含重復數字的序列?nums?,按任意順序?返回所有不重復的全排列。
列:
輸入:nums = [1,1,2] 輸出: [[1,1,2], [1,2,1], [2,1,1]] class?Solution(object):def?permuteUnique(self,?nums):""":type?nums:?List[int]:rtype:?List[List[int]]"""nums.sort()? # 進行排序,將重復的元素整合在一起,方便之后的去重操作。self.res?=?[]self.recur(nums,?[])return?self.resdef?recur(self,?nums,?temp):if?nums?==?[]:? # 當待排序的列表為空時,即可錄入排序self.res.append(temp)return?for?i?in?range(len(nums)):if?i>0?and?nums[i]?==?nums[i-1]:? # 當有重復元素時進行跳過continueself.recur(nums[:i]?+?nums[i+1:],?temp+[nums[i]])? # 每次按順序挑出元素,然后對剩 下的元素進行同樣的操作,當剩余數組為空時,排序也已完成,然后添加到res當中去。 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的包含重复数字序列的全排列Python解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 16.4正式版发布 新增Emoj
- 下一篇: 国人把iPhone买爆了?22年中国最畅