力扣-463.岛屿的周长

Idea

注意观察,每一个完整的方块,边长都是加4,一旦这个方块有其他的方块相邻的话,那么这两个方块总边长就要减少2.

因此我们遍历二维数组的时候,判断岛屿方块的上面还有左方是否有相邻即可

cpp 复制代码
class Solution {
public:
    int islandPerimeter(vector<vector<int>>& grid) {
        int m = grid.size();
        int n = grid[0].size();
        int ans = 0;
        for(int i = 0; i < m; i++) {
            for(int j = 0; j < n; j++) {
                if(grid[i][j]) {
                    ans += 4;
                    if(i - 1 >= 0 && grid[i - 1][j]) ans -= 2;
                    if(j - 1 >= 0 && grid[i][j - 1]) ans -= 2;
                }
            }
        }
        return ans;
    }
};
相关推荐
算AI14 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh16 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之17 小时前
选择排序笔记
java·算法·排序算法
烂蜻蜓17 小时前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf17 小时前
图论----拓扑排序
算法·图论
我要昵称干什么17 小时前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ18 小时前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl18 小时前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦18 小时前
日期类的实现
数据结构·c++·算法
ChoSeitaku18 小时前
NO.63十六届蓝桥杯备战|基础算法-⼆分答案|木材加工|砍树|跳石头(C++)
c++·算法·蓝桥杯