力扣-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;
    }
};
相关推荐
散峰而望3 分钟前
【数据结构】假如数据排排坐:顺序表的秩序世界
java·c语言·开发语言·数据结构·c++·算法·github
海棠AI实验室5 分钟前
第十五章 字典与哈希:高效索引与去重
算法·哈希算法
独自破碎E11 分钟前
动态规划-打家劫舍I-II
算法·动态规划
圣保罗的大教堂14 分钟前
leetcode 3507. 移除最小数对使数组有序 I
leetcode
尽兴-32 分钟前
JVM垃圾收集器与三色标记算法详解
java·jvm·算法·cms·gc·g1·三色标记算法
沐欣工作室_lvyiyi33 分钟前
IIR数字带通滤波器(论文+源码)
算法·matlab·毕业设计·数字滤波器
zh_xuan34 分钟前
LeeCode 61. 旋转链表
数据结构·c++·算法·leetcode·链表
tobias.b35 分钟前
408真题解析-2010-8-数据结构-拓扑排序
数据结构·算法·计算机考研·408真题解析
源代码•宸44 分钟前
Golang原理剖析(彻底理解Go语言栈内存/堆内存、Go内存管理)
经验分享·后端·算法·面试·golang·span·mheap
黎子越1 小时前
python循环相关联系
开发语言·python·算法