lintcode615 課程表 拓撲排序

2021-10-02 22:47:32 字數 965 閱讀 9405

現在你總共有 n 門課需要選,記為 0 到 n - 1.

一些課程在修之前需要先修另外的一些課程,比如要學習課程 0 你需要先學習課程 1 ,表示為[0,1]

給定n門課以及他們的先決條件,判斷是否可能完成所有課程?

樣例例1:

輸入: n =

2, prerequisites =[[

1,0]

] 輸出:

true例2:

輸入: n =

2, prerequisites =[[

1,0]

,[0,

1]] 輸出:

false

一段沒有想到給出的課程有10000多門而導致超時的**

class

solution

for(

int i =

0; i < numcourses; i++

)while

(!q.

empty()

)}}for

(int i =

0; i < numcourses; i++

)return

true;}

};

正確**:如拓撲排序一樣,先建立圖的聯絡,然後bfs即可

class

solution};

bool

canfinish

(int numcourses, vectorint,

int>>

& prerequisites)

queue q;

for(

int i =

0; i < numcourses; i++)}

while

(!q.

empty()

)}}return cnt==numcourses;}}

;

題207 課程表

你這個學期必須選修 numcourse 門課程,記為 0 到 numcourse 1 在選修某些課程之前需要一些先修課程。例如,想要學習課程 0 你需要先完成課程 1 我們用乙個匹配來表示他們 0,1 給定課程總量以及它們的先決條件,請你判斷是否可能完成所有課程的學習?統計課程安排圖中每個節點的入度...

LeetCode題解 207 課程表

現在你總共有 n 門課需要選,記為 0 到 n 1。在選修某些課程之前需要一些先修課程。例如,想要學習課程 0 你需要先完成課程 1 我們用乙個匹配來表示他們 0,1 給定課程總量以及它們的先決條件,判斷是否可能完成所有課程的學習?示例 1 輸入 2,1,0 輸出 true 解釋 總共有 2 門課程...

LeetCode題解 210 課程表 II

現在你總共有 n 門課需要選,記為 0 到 n 1。在選修某些課程之前需要一些先修課程。例如,想要學習課程 0 你需要先完成課程 1 我們用乙個匹配來表示他們 0,1 給定課程總量以及它們的先決條件,返回你為了學完所有課程所安排的學習順序。可能會有多個正確的順序,你只要返回一種就可以了。如果不可能完...