463. 岛屿的周长 - 力扣(LeetCode) (leetcode-cn.com)
太巧妙了,只关注前一个,如果当前的格子和前一个格子相连,减两条边。
class Solution {
public:
int islandPerimeter(vector<vector<int>>& grid) {
int res=0;
for(int i=0;i<grid.size();i++){
for(int j=0;j<grid[i].size();j++){
if(grid[i][j]==1){
res+=4;
if(i-1>=0&&grid[i-1][j]==1) res-=2;
if(j-1>=0&&grid[i][j-1]) res-=2;
}
}
}
return res;
}
};