給出了一個2d位數組。位圖,檢查正交路徑是否關閉
var map1 = [[0,0,0,0,0,0,0,0],
[0,0,0,0,1,0,0,0],
[0,0,1,1,1,1,1,0],
[0,0,1,0,0,0,1,0],
[0,0,1,1,0,0,1,0],
[0,0,1,0,0,0,1,0],
[0,0,1,1,1,1,1,0],
[0,0,0,0,0,0,0,0]];
我該如何編程檢查是否有一些「一」正在形成一個封閉的路徑?
兩個左位圖包含封閉路徑時,上一個是顯而易見的,下面的一個僅僅與沒有內部的閉合路徑。
右邊的兩個位圖不包含封閉路徑,在上例的一個比特是缺少,在下面的例子中的一個對角像素不計數,只有正交路徑。
我有這個想法,但不是製造二次地圖,我會用一個列表,並保存在那裏找到「一」,當我發現一個重複的cordinates,道路被關閉。與你的方法類似,但我認爲更多的記憶友好。你對這種方法有什麼看法? – astropanic
是的,你也可以做到這一點,確保使用的東西,可以讓你有效地檢查重複。 –