LeetCode每日一题 (50) 463. 岛屿的周长

463. 岛屿的周长


在这里插入图片描述
在这里插入图片描述


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;
    }
};

在这里插入图片描述


猜你喜欢

转载自blog.csdn.net/qq_45021180/article/details/109382687
今日推荐