Course Schedule I && II【经典题】

Course Schedule I && II【经典题】_第1张图片


这道题跟Graph 那题基本一样,唯一的不同在于,这道题是directed graph.

一个很tricky的地方!由于courses nodes不一定只有一个connected component。所以run一次hasCycle是不够的。要每个点都run一次。


总结一下一开始错的地方: 最大的失误就是把prerequsite 顺序搞反了,没看清楚。start 和end一开始取错了。

后面还有一个问题就是 当我从每一个点都run 一次hasCycle的时候就不行了。即使把boolean array放进for loop,java似乎也只会执行一次。

后来解决的办法是通过在hasCycle里把visited[index] reset回false解决的。

Course Schedule I && II【经典题】_第2张图片
Course Schedule I && II【经典题】_第3张图片



Course Schedule I && II【经典题】_第4张图片



Course Schedule I && II【经典题】_第5张图片
Course Schedule I && II【经典题】_第6张图片


Course Schedule II


Course Schedule I && II【经典题】_第7张图片


Course Schedule I && II【经典题】_第8张图片

你可能感兴趣的:(Course Schedule I && II【经典题】)