[Leetcode][第841题][JAVA][钥匙和房间][DFS][BFS]
【問(wèn)題描述】[中等]
【解答思路】
當(dāng) xx 號(hào)房間中有 yy 號(hào)房間的鑰匙時(shí),我們就可以從 xx 號(hào)房間去往 yy 號(hào)房間。如果我們將這 nn 個(gè)房間看成有向圖中的 nn 個(gè)節(jié)點(diǎn),那么上述關(guān)系就可以看作是圖中的 xx 號(hào)點(diǎn)到 yy 號(hào)點(diǎn)的一條有向邊。
這樣一來(lái),問(wèn)題就變成了給定一張有向圖,詢問(wèn)從 00 號(hào)節(jié)點(diǎn)出發(fā)是否能夠到達(dá)所有的節(jié)點(diǎn)。
用visit數(shù)組或者Set記錄已經(jīng)訪問(wèn)的節(jié)點(diǎn)
1. DFS
使用深度優(yōu)先搜索的方式遍歷整張圖,統(tǒng)計(jì)可以到達(dá)的節(jié)點(diǎn)個(gè)數(shù),并利用數(shù)組 vis 標(biāo)記當(dāng)前節(jié)點(diǎn)是否訪問(wèn)過(guò),以防止重復(fù)訪問(wèn)。
復(fù)雜度
2. BFS
用廣度優(yōu)先搜索的方式遍歷整張圖,統(tǒng)計(jì)可以到達(dá)的節(jié)點(diǎn)個(gè)數(shù),并利用數(shù)組 vis /Set標(biāo)記當(dāng)前節(jié)點(diǎn)是否訪問(wèn)過(guò),以防止重復(fù)訪問(wèn)。
復(fù)雜度
【總結(jié)】
1. DFS 遞歸回溯 BFS 隊(duì)列
2.審題!!! 思考后再行動(dòng)
轉(zhuǎn)載鏈接:https://leetcode-cn.com/problems/keys-and-rooms/solution/yao-chi-he-fang-jian-by-leetcode-solution/
總結(jié)
以上是生活随笔為你收集整理的[Leetcode][第841题][JAVA][钥匙和房间][DFS][BFS]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: iOS应用内付费(IAP)开发步骤列表
- 下一篇: 计算机视觉论文-2021-06-01