LeetCode207課程表-210課程表2有向無(wú)環(huán)圖

這道題是典型的有向無(wú)環(huán)圖,注意數(shù)據(jù)存儲(chǔ)的是【當(dāng)前課:先修課】,所以當(dāng)我們用一個(gè)字典來(lái)存的時(shí)候,是以【先修課:后續(xù)課】存儲(chǔ)的

用一個(gè)數(shù)組來(lái)存儲(chǔ)每門(mén)課先修課的數(shù)量,也就是每個(gè)節(jié)點(diǎn)的入度indegreee

這樣存儲(chǔ)數(shù)據(jù)的好處是,每當(dāng)完成一門(mén)先修課的時(shí)候,說(shuō)明當(dāng)前課的先修課完成了一門(mén),對(duì)應(yīng)的節(jié)點(diǎn)入度-1,當(dāng)入度減少到0時(shí),說(shuō)明全部的先修課已經(jīng)上完,可以上當(dāng)前這門(mén)課了。

通過(guò)一個(gè)隊(duì)列,將每次入度為0 的節(jié)點(diǎn)加入,然后通過(guò)字典,找到需要學(xué)習(xí)這門(mén)先修課的后續(xù)課,對(duì)應(yīng)的節(jié)點(diǎn)入度-1。

最后結(jié)果,就是判斷是否所有的節(jié)點(diǎn)入度都是0,也就是完成所有課程,如果有一個(gè)節(jié)點(diǎn)不是的話,說(shuō)明存在環(huán),無(wú)法完成。


題目


圖解
207code


210題目

這道題相比于之前,就是要返回課程的順序。用一個(gè)數(shù)組,來(lái)存儲(chǔ)隊(duì)列彈出的順序即可。


210code
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容