LeetCode-047-全排列 II

題目描述:給定一個可包含重復(fù)數(shù)字的序列 nums ,按任意順序 返回所有不重復(fù)的全排列。
示例說明請見LeetCode官網(wǎng)。
來源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/permutations-ii/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
解法一:窮舉法
然后聲明一個隊列queue,隊列的元素就是MultiTree,首先將nums中不同的數(shù)字出初始化成路徑的第一個數(shù)字,然后加入到隊列中(需要同時初始化used和paths)。
然后遍歷隊列queue,按照類似的方式將數(shù)組nums中沒用到的數(shù)字加入到當前路徑中(需要判斷重復(fù)數(shù)字)。
直到隊列中每一條路徑的長度都和nums的長度一樣,即已將所有的數(shù)字加入到路徑中。
最后,返回隊列中的所有的路徑paths。
說明:其實本來想構(gòu)造一棵多叉樹,所有葉子節(jié)點到根節(jié)點的路徑即為所有的路徑排列,后來沒用到,所以沒有構(gòu)造樹的父子關(guān)系 。
【每日寄語】 愿太陽的光輝始終灑在你心上。愿所有的不愉快,苦盡甘來。愿每個脆弱的人都能得到善待。愿現(xiàn)實有光,世界有暖。
標簽: