easy solution in java


  • -2
    V
    public int islandPerimeter(int[][] grid) {
            int perimeter = 0; 
            for(int i = 0; i < grid.length; i++)
            for(int j = 0; j < grid[0].length; j++)
            {
                if(grid[i][j] == 1){
                perimeter += getPerimeterForSingleCell(i, j, grid);
                }   
            }  
            return perimeter;
        }
    
        private int getPerimeterForSingleCell(int i, int j, int[][]grid )
        {
            return 4 - (((i-1) >= 0 && grid[i-1][j] == 1) ? 1 : 0) -(((i+1) < grid.length && grid[i+1][j] == 1) ? 1 : 0)
                    -(((j-1) >= 0 && grid[i][j-1] == 1) ? 1 : 0)-(((j+1) < grid[0].length && grid[i][j+1] == 1) ? 1 : 0);
        } 
    

Log in to reply
 

Looks like your connection to LeetCode Discuss was lost, please wait while we try to reconnect.