文章詳情頁
java - 請問這種排列算法的難度在什么水平?
瀏覽:124日期:2024-02-07 11:53:09
問題描述
https://segmentfault.com/q/10... 這個(gè)問題中有四種對4位整型數(shù)組進(jìn)行排列組合的算法,一個(gè)一個(gè)按照運(yùn)行順序?qū)懴聛碛X得很有意思,我肯定直接寫不出來,想問一下算法界的大神們,這種算法大概是什么水平的?如果是很簡單的那種,我大概真的要去補(bǔ)一下了...另外,除了死記硬背,這么刁鉆的設(shè)計(jì)是怎么想出來的...
問題解答
回答1:全排列的過程可以當(dāng)成樹的遍歷過程,每個(gè)葉子節(jié)點(diǎn)就是一種排列,只不過要注意的是每個(gè)子樹的邊不能和父節(jié)點(diǎn)的邊重復(fù)。 樹的遍歷過程好辦,或遞歸或用棧或隊(duì)列甚至另外設(shè)置個(gè)保存狀態(tài)的數(shù)組都行,子樹的邊不能和父節(jié)點(diǎn)邊重復(fù)的問題也好辦,遍歷子樹的時(shí)候只遍歷available的,并且遍歷后做標(biāo)記就可以了。 我覺得這個(gè)問題轉(zhuǎn)換成樹就好辦了,實(shí)現(xiàn)各種各樣都可以吧。
標(biāo)簽:
java
相關(guān)文章:
1. android - Genymotion 微信閃退 not find plugin.location_google.GoogleProxyUI2. 默認(rèn)安裝的PHP版本太低了啊怎么換成安裝php7.1版本以上的3. javascript - 怎樣實(shí)現(xiàn)對不同的URL地址,進(jìn)行不同的操作?4. angular.js - angularjs的ng-include的html必須是要在同一個(gè)服務(wù)器嗎?5. java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver發(fā)生異常。為什么?6. javascript - 為什么form表單提交沒有跨域問題,但ajax提交有跨域問題?7. javascript - position fixed;設(shè)置了height 100 卻不是瀏覽器可視窗口的寬高,求大神釋疑。8. docker綁定了nginx端口 外部訪問不到9. mac里的docker如何命令行開啟呢?10. 如何解決docker宿主機(jī)無法訪問容器中的服務(wù)?
排行榜

熱門標(biāo)簽