日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python课程表代码_Python课程表

發布時間:2023/12/20 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python课程表代码_Python课程表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設我們必須參加總共numCourses課程,從0到numCourses-1標記。某些課程可能有先決條件,例如,要選修課程0,我們必須首先選修課程1,該課程用一對表示:[0,1]。假設提供的課程總數和先決條件對列表,我們必須檢查您是否有可能完成所有課程?

因此,如果輸入類似于? numCourses = 2并且前提條件= [[1,0]],那么結果將為true,因為總共要學習2門課程。要參加課程1,我們應該已經完成課程0。所以這是可能的。

為了解決這個問題,我們將遵循以下步驟-在main方法中,將需要numCourses和先決條件:這將類似于-

如果前提條件沒有條目,則返回true

制作一個名為visited的數組,并用0填充,其范圍與numCourses相同

adj_list:=使用先決條件創建圖形

對于i范圍從0到numCourses如果圖中的訪問節點之間沒有循環,則返回false

如果visit [i]為假,則

返回真

示例

讓我們看下面的實現以更好地理解-class?Solution(object):

def?canFinish(self,?numCourses,?prerequisites):

if?len(prerequisites)?==?0:

return?True

visited?=?[0?for?i?in?range(numCourses)]

adj_list?=?self.make_graph(prerequisites)

for?i?in?range(numCourses):

if?not?visited[i]:

if?not?self.cycle(adj_list,visited,i):

return?False

return?True

def?cycle(self,adj_list,visited,current_node?=?0):

if?visited[current_node]?==-1:

return?False

if?visited[current_node]?==?1:

return?True

visited[current_node]?=?-1

if(current_node?in?adj_list):

for?i?in?adj_list[current_node]:

if?not?self.cycle(adj_list,visited,i):

return?False

visited[current_node]?=?1

return?True

def?make_graph(self,array):

adj_list?=?{}

for?i?in?array:

if?i[1]?in?adj_list:

adj_list[i[1]].append(i[0])

else:

adj_list[i[1]]?=?[i[0]]

return?adj_list

ob?=?Solution()print(ob.canFinish(2,?[[1,0]]))

輸入值2

[[1,0]]

輸出結果true

總結

以上是生活随笔為你收集整理的python课程表代码_Python课程表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。