力扣-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;
    }
};
相关推荐
Doubbbbbbble云6 小时前
基于贪心算法的区间覆盖问题求解策略4
算法·贪心算法
不会就选b12 小时前
算法日常・每日刷题--<贪心>25
数据结构·算法
Cccp.12316 小时前
【leetcode】(七)前缀树和贪心算法
数据结构·leetcode·贪心算法
千里码aicood16 小时前
基于CART算法的图书分类系统设计与实现
数据库·算法·分类
做cv的小昊16 小时前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型
لا معنى له17 小时前
World-In-World: World Models in a Closed-Loop World
算法
Discipline102919 小时前
尼泊尔河流流量:天气驱动的预测与高流量风险
人工智能·算法
XuCoder19 小时前
改一个数,右边全得重算,这题怎么扛住两万次查询
算法
小羊没烦恼!19 小时前
在Scrum中实施敏捷建模
java·开发语言·windows·算法·c#