class Solution {
public:
int islandPerimeter(vector<vector<int>>& grid) {
int h = grid.size();
int w = grid[0].size();
int ans = 0;
int dir[4][2]={
0,1,
1,0,
-1,0,
0,-1
};
for(int i = 0;i < h; i++){
for(int j = 0;j < w; j++){
if(grid[i][j] == 1){
ans += 4;
for(int k = 0;k < 4; k++){
int x = i+dir[k][0];
int y = j+dir[k][1];
if(x < 0 || y < 0 || x >= h || y >= w)
continue;
if(grid[x][y] == 1)
ans--;
}
}
}
}
return ans;
}
};leetcode 463. Island Perimeter
最新推荐文章于 2025-12-21 17:04:13 发布
本文介绍了一个C++函数,用于计算二维网格中岛屿的周长。通过遍历网格并检查每个单元格与其相邻单元格的关系来实现,适用于离散数学与算法的学习。
377

被折叠的 条评论
为什么被折叠?



