溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Lintcode15 Permutations solution 題解

發(fā)布時(shí)間:2020-05-31 11:22:52 來(lái)源:網(wǎng)絡(luò) 閱讀:383 作者:coderer 欄目:軟件技術(shù)

【題目描述】

Given a list of numbers, return all possible permutations.

Notice:You can assume that there is no duplicate numbers in the list.

給定一個(gè)數(shù)字列表,返回其所有可能的排列。

注意:你可以假設(shè)沒(méi)有重復(fù)數(shù)字。

【題目鏈接】

http://www.lintcode.com/en/problem/permutations/

【題目解析】

遇到這種問(wèn)題,很顯然,第一個(gè)想法我們首先回去想到DFS,遞歸求解,對(duì)于數(shù)組中的每一個(gè)元素,找到以他為首節(jié)點(diǎn)的Permutations,這就要求在遞歸中,每次都要從數(shù)組的第一個(gè)元素開始遍歷,這樣,,就引入了另外一個(gè)問(wèn)題,我們會(huì)對(duì)于同一元素訪問(wèn)多次,這就不是我們想要的答案了,所以我們引入了一個(gè)bool類型的數(shù)組,用來(lái)記錄哪個(gè)元素被遍歷了(通過(guò)下標(biāo)找出對(duì)應(yīng)).在對(duì)于每一個(gè)Permutation進(jìn)行求解中,如果訪問(wèn)了這個(gè)元素,我們將它對(duì)應(yīng)下表的bool數(shù)組中的值置為true,訪問(wèn)結(jié)束后,我們?cè)僦脼閒alse.

時(shí)間復(fù)雜度分析: 這道題同Combination,所以對(duì)于這道題的解答,時(shí)間復(fù)雜度同樣是

O(n!)

【答案鏈接】

https://www.jiuzhang.com/solutions/permutations/


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI