公寓片区的规划
dfs模版题目
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 返回宿舍中片区的数量
* @param dormitoryMatrix int整型vector<vector<>> 宿舍分布矩阵
* @param m int整型 矩阵行数
* @param n int整型 矩阵列数
* @return int整型
*/
int countPartitions(vector<vector<int> >& dormitoryMatrix, int m, int n) {
//dfs
function<void(int ,int)> dfs=[&](int i,int j){
if(i<0||i>=m||j<0||j>=n||dormitoryMatrix[i][j]==2)return ;
if(dormitoryMatrix[i][j]==1){
dormitoryMatrix[i][j]=2;
dfs(i-1,j);
dfs(i+1,j);
dfs(i,j-1);
dfs(i,j+1);
}
return ;
};
int res=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(dormitoryMatrix[i][j]==1){
dfs(i,j);
res++;
}
}
}
return res;
// write code here
}
};