LeetCode 934 最短的橋(2次BFS)

2021-10-02 03:04:42 字數 1175 閱讀 3031

在給定的二維二進位制陣列 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 為鑰匙...