力扣-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;
    }
};
相关推荐
点云侠9 小时前
隧道中线提取的优化方法
c++·算法·最小二乘法
圣保罗的大教堂9 小时前
leetcode 3761. 镜像对之间最小绝对距离 中等
leetcode
minji...9 小时前
Linux 线程同步与互斥(五) 日志,线程池
linux·运维·服务器·开发语言·c++·算法
python_DONG9 小时前
响应面法(Response Surface Methodology, RSM)单目标优化算法
算法·数学建模
6Hzlia9 小时前
【Hot 100 刷题计划】 LeetCode 108. 将有序数组转换为二叉搜索树 | C++ 分治法详解
c++·算法·leetcode
itzixiao10 小时前
L1-051 打折(5分)[java][python]
java·python·算法
贾斯汀玛尔斯10 小时前
每天学一个算法--Aho–Corasick 自动机
java·linux·算法
re林檎10 小时前
八大排序算法(C++实现)
c++·算法·排序算法
淘气包海鸟10 小时前
雷达度量衡量
人工智能·算法·机器学习·信息与通信
睡觉就不困鸭10 小时前
第12天 多数元素
算法·哈希算法·散列表