您的位置:首页 > 其它

LeetCode - 338. Counting Bits

2017-03-08 18:30 447 查看
解题代码:

classSolution {

p
9fde
ublic:

    intislandPerimeter(vector<vector<int>>& grid) {

        int p=0,c=0;

        for(int i=0;i<grid.size();i++){

            for(intj=0;j<grid[0].size();j++){

                if(grid[i][j]==1){

                    p+=4;

                    if(i!=0){

                        if(grid[i-1][j]==1)

                            c++;

                    }

                    if(j!=0){

                        if(grid[i][j-1]==1)

                            c++;                        

                    }

                    if(i!=grid.size()-1){

                        if(grid[i+1][j]==1)

                            c++;                       

                    }

                    if(j!=grid[0].size()-1){

                       if(grid[i][j+1]==1)

                            c++;

                    }   

                }

            }

        }

        return p-c;

    }

};

解题思路:

题目要求陆地的周长,因此就是需要求陆地总共的块数,用它的4倍减去跟其他陆地相邻的边界的数量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: