leetcode-463- Island Perimeter

来源:互联网 发布:app客户端制作软件 编辑:程序博客网 时间:2024/05/01 05:35

题目

题目:[Island Perimeter]

思路

指定边界规则:小心点是避免重复
对于任何一个点应该是判断四个方向:
为0,有一条
越界,有一条

代码

class Solution {public:    int islandPerimeter(vector<vector<int>>& grid) {        int row = grid.size();        if(!row)            return 0;        int col = grid[0].size();        if(!col)            return 0;        int ret = 0;        for( int i = 0; i < row; ++i )        {            for( int j = 0; j < col; ++j )            {                if( grid[i][j] == 1 )                {                    //(i-1,j)                    if(i-1 < 0) ++ret;                    else if( grid[i-1][j] == 0 ) ++ ret;                    //(i+1,j)                    if( i+1 == row ) ++ ret;                    else if( grid[i+1][j] == 0 ) ++ret;                    //(i,j-1)                    if(j-1 < 0) ++ret;                    else if(grid[i][j-1] == 0) ++ret;                    //(i,j+1)                    if(j+1 == col) ++ret;                    else if( grid[i][j+1] == 0 ) ++ret;                }            }        }        return ret;    }};
0 0
原创粉丝点击