您好,登錄后才能下訂單哦!
【題目描述】
Given a list of numbers, return all possible permutations.
Notice:You can assume that there is no duplicate numbers in the list.
給定一個數字列表,返回其所有可能的排列。
注意:你可以假設沒有重復數字。
【題目鏈接】
http://www.lintcode.com/en/problem/permutations/
【題目解析】
遇到這種問題,很顯然,第一個想法我們首先回去想到DFS,遞歸求解,對于數組中的每一個元素,找到以他為首節點的Permutations,這就要求在遞歸中,每次都要從數組的第一個元素開始遍歷,這樣,,就引入了另外一個問題,我們會對于同一元素訪問多次,這就不是我們想要的答案了,所以我們引入了一個bool類型的數組,用來記錄哪個元素被遍歷了(通過下標找出對應).在對于每一個Permutation進行求解中,如果訪問了這個元素,我們將它對應下表的bool數組中的值置為true,訪問結束后,我們再置為false.
時間復雜度分析: 這道題同Combination,所以對于這道題的解答,時間復雜度同樣是
O(n!)
【答案鏈接】
https://www.jiuzhang.com/solutions/permutations/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。