在給定的二維二進位制陣列 a 中,存在兩座島。(島是由四面相連的 1 形成的乙個最大組。)
現在,我們可以將 0 變為 1,以使兩座島連線起來,變成一座島。
返回必須翻轉的 0 的最小數目。(可以保證答案至少是 1。)
示例 1:
輸入:[[0
,1],
[1,0
]]輸出:1
示例 2:
輸入:[[0
,1,0
],[0
,0,0
],[0
,0,1
]]輸出:2
示例 3:
輸入:[[1
,1,1
,1,1
],[1
,0,0
,0,1
],[1
,0,1
,0,1
],[1
,0,0
,0,1
],[1
,1,1
,1,1
]]輸出:1
1<= a.length = a[0]
.length <=
100a[i]
[j]==
0 或 a[i]
[j]==
1
class
solution,,
,};//移動方向
public
:int
shortestbridge
(vectorint>>
& a)
if(found)
break;}
pair<
int,
int> tp;
while
(!firstland.
empty()
)//第一次bfs}}
found =
false
;while
(!q.
empty()
)//第二次bfs
else
//找到1了,連通了}}
if(found)
break;}
step++;if
(found)
break;}
return step-1;
//最後一步1不算,所以-1}}
;
LeetCode934 最短的橋
在給定的二維二進位制陣列 a 中,存在兩座島。島是由四面相連的 1 形成的乙個最大組。現在,我們可以將 0 變為 1,以使兩座島連線起來,變成一座島。返回必須翻轉的 0 的最小數目。可以保證答案至少是 1。示例 1 輸入 0,1 1,0 輸出 1 1 a.length a 0 length 100 ...
leetcode 字元的最短距離
題目 給定乙個字串s和乙個字元c。返回乙個代表字串s中每個字元到字串s中的字元c的最短距離的陣列。示例 1 輸入 s loveleetcode c e 輸出 3,2,1,0,1,0,0,1,2,2,1,0 說明 字串s的長度範圍為 1,10000 c是乙個單字元,且保證是字串s裡的字元。s和c中的所...
LeetCode 864 獲取所有鑰匙的最短路徑
給定乙個二維網格grid。代表乙個空房間,代表一堵牆,是起點,a b 代表鑰匙,a b 代表鎖。我們從起點開始出發,一次移動是指向四個基本方向之一行走乙個單位空間。我們不能在網格外面行走,也無法穿過一堵牆。如果途經乙個鑰匙,我們就把它撿起來。除非我們手裡有對應的鑰匙,否則無法通過鎖。假設 k 為鑰匙...