class Solution {
public:
// 遍历整个二维数组,计算1(也就是陆地)的周围为0的的个数之和
int islandPerimeter(vector<vector<int>>& grid) {
int Sum=0;
for(int i=0;i<grid.size();i++){
for(int j=0;j<grid[i].size();j++){
if(grid[i][j]==1){
Sum+=count(grid,i,j);
}
}
}
return Sum;
}
int count(vector<vector<int>>& grid,int i,int j){
int y=0;
if(i-1<0 || grid[i-1][j]==0) y+=1; //左边
if(i+1>=grid.size() || grid[i+1][j]==0) y+=1; // 右边
if(j-1<0 || grid[i][j-1]==0) y+=1; // 上边
if(j+1>=grid[i].size() || grid[i][j+1]==0) y+=1; // 下面
return y;
}
};