🌗 463. 岛屿的周长

吞佛童子2022年6月20日
  • algorithm
  • array
小于 1 分钟

🌗 463. 岛屿的周长

难度: 🌗

问题描述

img_3.png


解法

class Solution {
    public int islandPerimeter(int[][] grid) {
        // 思路:
        // 遍历所有方格,只有和水域相连的边才纳入计算范围
        int row = grid.length;
        int col = grid[0].length;
        int res = 0;
        for(int i = 0; i < row; i ++) {
            for(int j = 0; j < col; j ++) {
                if(grid[i][j] == 0) {
                    continue; // 水域方格不参与计算
                }
                if(i == 0 || grid[i - 1][j] == 0) {
                    res ++;
                }
                if(i == row - 1 || grid[i + 1][j] == 0) {
                    res ++;
                }
                if(j == 0 || grid[i][j - 1] == 0) {
                    res ++;
                }
                if(j == col - 1 || grid[i][j + 1] == 0) {
                    res ++;
                }
            }
        }
        return res;
    }
}

输出

img_2.png

上次编辑于: 2022/6/20 下午8:24:47
贡献者: liuxianzhishou