LeetCode 實現兩座島嶼的最短距離

2021-10-11 09:25:30 字數 994 閱讀 1737

給定乙個二維0-1矩陣,其中1表示陸地,0表示海洋,每個位置與上下左右相連.島是由

四面相連的1形成的乙個最大組.已知矩陣存在兩個島嶼,求最少要填造陸多少個

位置才可以將兩個島嶼相連.

示例 1:

input:[[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]]

output:1

示例 2:

input:[[0,1],

[1,0]]

output:2

示例 3:

input:[[0,1,0],

[0,0,0],

[0,0,1]]

output:2

解題思路:

本題實際上是求兩個島嶼間的最短距離,因此可以先通過任意搜尋方法找到其中乙個島嶼

,然後利用廣度優先搜尋,查詢其與另外乙個島嶼的最短距離.

c++語言實現

#include #include #include using namespace std;

class solution;

void dfs(queue>& points,vector>& grid,int m,int n,int i,int j)

if(grid[i][j]==0));

return;

}grid[i][j]=2;

dfs(points,grid,m,n,i-1,j);

dfs(points,grid,m,n,i+1,j);

dfs(points,grid,m,n,i,j-1);

dfs(points,grid,m,n,i,j+1);

}};int main(int argc,char* ar**),,};

cout

}

頭頂技術價格兩座大山 OLED揠苗助長前景蒙憂

下一代電視 提前上市,消費者應不應該買?金九銀十,歷來是選購電視的旺季,但今年眾多新產品 新概念的出爐,難免讓人眼花繚亂,普通消費者如霧裡看花一般,分辨不出優劣。尤其是目前被不少企業稱為 下一代電視 的oled電視,卻提前乙個時代大規模上市,希望將led電視取而代之。業內人士指出,新技術 新概念的到...

擋在雲辦公面前的兩座大山,思維方式和工作習慣

雲上辦公訊 很多時候,乙個新的產品,比如在2020年前的雲辦公,明明本身有相應的技術條件和儲備,應用的場景也足夠垂直,卻一直沒能成功,時刻處於市場邊緣,直到外來因素才打破了這一情況。明明有著藍海市場,有著領先對手的市場意識,卻還是沒能流行起來,其主要原因,是有需求不一定有市場。通常情況下,會習慣通過...

leetcode 島嶼的個數

給定乙個由 1 陸地 和 0 水 組成的的二維網格,計算島嶼的數量。乙個島被水包圍,並且它是通過水平方向或垂直 方向上相鄰的陸地連線而成的。你可以假設網格的四個邊均被水包圍。示例 1 輸入 11110 11010 11000 00000 輸出 1 示例 2 輸入 11000 11000 00100 ...