力扣-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;
    }
};
相关推荐
wearegogog1238 小时前
光谱分析波段选择的连续投影算法
算法
执笔论英雄8 小时前
【RL】DAPO 数据处理
算法
why1519 小时前
面经整理——算法
java·数据结构·算法
悦悦子a啊9 小时前
将学生管理系统改造为C/S模式 - 开发过程报告
java·开发语言·算法
痕忆丶9 小时前
双线性插值缩放算法详解
算法
_codemonster10 小时前
深度学习实战(基于pytroch)系列(四十八)AdaGrad优化算法
人工智能·深度学习·算法
鹿角片ljp11 小时前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表
自由生长202411 小时前
位运算第1篇-异或运算-快速找出重复数字
算法
xxxxxmy11 小时前
同向双指针(滑动窗口)
python·算法·滑动窗口·同向双指针
释怀°Believe11 小时前
Daily算法刷题【面试经典150题-5️⃣图】
算法·面试·深度优先