岛屿的周长

思路:是1边长+4,判断临近有无1的块,如果有就进行减

需要注意两点:判断方向只需要判断两个方向(横轴和纵轴)就可以了,否则由于相对性会导致一种情况被重复判断。

代码

class Solution {
    public int islandPerimeter(int[][] grid) {
        //左上-1就行
        int res = 0;
        int m = grid.length,n = grid[0].length;
        for(int i=0;i<m;i++){
            for(int j=0;j<n;j++){
                if(grid[i][j] == 1){
                     res += 4;
                     if(i > 0 && grid[i-1][j] == 1) res-=2;
                     if(j > 0 && grid[i][j-1] == 1) res-=2;
                }
               
            }
        }
        return res;

    }
}


posted @ 2020-10-31 18:39  浅滩浅  阅读(151)  评论(0编辑  收藏  举报