Java/463.(岛屿的周长) Island Perimeter

先上题目



思路:

前提(只存在一个小岛)

1.遍历数组,找出所有单位土地

2.分别计算所有单位土地的周长

3.计算总和


代码部分

class Solution {
    
    public int islandPerimeter(int[][] grid) {
        int i,j,temp,result=0;
        for(i=0;i<grid.length;i++){
            for(j=0;j<grid[0].length;j++){
                if(grid[i][j]==1){
                    temp=onePerimeter(grid,i,j);
                    result+=temp;
                }
            }
        }
        return result;
    }
    
    public int onePerimeter(int[][] grid,int i,int j){
        int perimeter=4;
        if(i+1<grid.length && grid[i+1][j]==1){
            perimeter--;
        }
        if(i-1>=0 && grid[i-1][j]==1){
            perimeter--;
        }
        if(j-1>=0 && grid[i][j-1]==1){
            perimeter--;
        }
        if(j+1<grid[0].length && grid[i][j+1]==1){
            perimeter--;
        }
        return perimeter;
    }
    
}

猜你喜欢

转载自blog.csdn.net/qq_38959715/article/details/80942125