力扣-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;
    }
};
相关推荐
We་ct6 分钟前
LeetCode 637. 二叉树的层平均值:BFS层序遍历实战解析
前端·数据结构·算法·leetcode·typescript·宽度优先
I_LPL25 分钟前
day36 代码随想录算法训练营 动态规划专题4
java·算法·leetcode·动态规划·hot100
ab15151725 分钟前
2.24完成129、134、135
数据结构·算法
2301_8169978827 分钟前
虚拟DOM与Diff算法
前端·vue.js·算法
闻缺陷则喜何志丹27 分钟前
P8153 「PMOI-5」送分题/Yet Another Easy Strings Merging|普及+
c++·数学·算法·洛谷
tankeven30 分钟前
HJ102 字符统计
c++·算法
升讯威在线客服系统37 分钟前
从 GC 抖动到稳定低延迟:在升讯威客服系统中实践 Span 与 Memory 的高性能优化
java·javascript·python·算法·性能优化·php·swift
We་ct44 分钟前
LeetCode 199. 二叉树的右视图:层序遍历解题详解
前端·算法·leetcode·typescript·广度优先
孤独的追光者44 分钟前
MATLAB导出滤波器参数至ADSP中使用
算法·matlab
鲨辣椒100861 小时前
线程函数接口补充
java·开发语言·算法