463. Island Perimeter

来源:互联网 发布:划船机品牌 知乎 编辑:程序博客网 时间:2024/06/09 18:21

解题思路:对于每一个空格首先增加4条边,对于每个空格如果,右方和下方都是1,则相应的总计边数减2(抵消的是两条边)

class Solution {public:    int islandPerimeter(vector<vector<int>>& grid) {     int row=grid.size();     if(row==0)return 0;     int col=grid[0].size();     //vector<vector<int>> copy(grid);//复制一个     int count=0,num=0;     for(int i=0;i<row;i++)        for(int j=0;j<col;j++)        {            if(grid[i][j]==1)            {                num=4;                if(i+1<row&&grid[i+1][j]==1)                num=num-2;                if(j+1<col&&grid[i][j+1]==1)                num=num-2;                count+=num;            }        }     return count;    }};
0 0
原创粉丝点击