成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

dfs和bfs算法的區(qū)別 走格子路線算法?

走格子路線算法?給定一個二維數(shù)組,找出是否有從左上角到右下角的路徑。在給定的二維數(shù)組中,當(dāng)單元格值為-1時,表示不能通過;當(dāng)單元格值為0時,表示可以通過。例如:給定如下二維數(shù)組:{0,0,0,-1,0

走格子路線算法?

給定一個二維數(shù)組,找出是否有從左上角到右下角的路徑。在給定的二維數(shù)組中,當(dāng)單元格值為-1時,表示不能通過;當(dāng)單元格值為0時,表示可以通過。

例如:給定如下二維數(shù)組:

{0,0,0,-1,0},

{1,0,0,-1,-1},]{0,0,-1,0},

{1,0,0,0,0},

{0,0,-1,0}]路徑存在,返回yes

{0,0,0,-1,0},

{1,0,0,-1},

{0,0,-1,0},

{1,0,-1,0},

{,0}

路徑不存在,返回no

算法分析

解決此問題的簡單方法是使用BFS或DFS算法來查找是否有一條合格的路徑(path)。

更好的解決方案是通過將所有可訪問節(jié)點(diǎn)的值更改為1來標(biāo)記它們。

首先,將左上角第一個元素的值標(biāo)記為1。然后獲取第一行中的下一個(當(dāng)前)值,并將其與上一個值進(jìn)行比較。僅當(dāng)當(dāng)前值可到達(dá)(不等于-1)時,才將其設(shè)置為上一個值。類似地,對列值執(zhí)行相同的操作,方法是將當(dāng)前值與前一列的值(如果可以訪問)進(jìn)行比較并進(jìn)行設(shè)置。

然后從第一行和第一列開始,獲取前一行和前一列的值。找到它們之間的最大值,并將當(dāng)前索引設(shè)置為該最大值。如果當(dāng)前索引值為-1,則沒有更改。

最后,如果右下角的最終索引為1,則返回“是”,否則返回“否”。