LeetCode - 338. Counting Bits

    xiaoxiao2021-03-25  125

    解题代码:

    classSolution {

    public:

        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倍减去跟其他陆地相邻的边界的数量。

    转载请注明原文地址: https://ju.6miu.com/read-5645.html

    最新回复(0)