水域大小(DFS)(BFS)

2021-10-16 17:05:20 字數 822 閱讀 4271

dfs bfs例題

你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直、水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。

示例:0 < len(land) <= 1000

0 < len(land[i]) <= 1000

此題dfs,bfs都可以用。

(**格式為leetcode模板格式)

**:bfs

class solution , , , , , , , };//可以斜著所以是8個方向

struct node ;

queueq;

int bfs(int i, int j, vector>& land)}}

return n;

}vectorpondsizes(vector>& land)

else }}

sort(arr.begin(), arr.end());

return arr;

}};

dfs
class solution , , , , , , , };

struct node ;

int dfs(int i, int j, vector>& land)

return n;

}vectorpondsizes(vector>& land)

else }}

sort(arr.begin(), arr.end());

return arr;

}};

深度優先搜尋 水域大小

問題 你有乙個用於表示一片土地的整形矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角線相連的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有 池塘的大小,返回值需要從小到大排序。示例 輸入 0,2,1,0 0,1,0,1 1,1...

面試題 16 19 水域大小

你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。示例 0 len land 1000 0 len land ...

演算法練習 水域大小 深度優先

題目 你有乙個用於表示一片土地的整數矩陣land,該矩陣中每個點的值代表對應地點的海拔高度。若值為0則表示水域。由垂直 水平或對角連線的水域為池塘。池塘的大小是指相連線的水域的個數。編寫乙個方法來計算矩陣中所有池塘的大小,返回值需要從小到大排序。示例 輸入 0,2,1,0 0,1,0,1 1,1,0...