leetcode419

来源:互联网 发布:艺术家 知乎 编辑:程序博客网 时间:2024/06/07 20:10

该问题比较简单,由于相邻之间的舰队不会有重复,并且每个舰队只会在一行或一列。求舰队数目。

问题的关键在于不要重复计算舰队。可以有多种方法,本题采用统计X处,左和上是不是没有舰队的方式避免重复计算舰队。

class Solution {public:    int countBattleships(vector<vector<char>>& board) {        int count=0;        for(int i=0;i<board.size();i++)        {            for(int j=0;j<board[i].size();j++)            {                if(board[i][j]=='X')                {                    if(((i-1>=0&&board[i-1][j]=='.')||i-1<0)&&((j-1>=0&&board[i][j-1]=='.')||j-1<0))                        count++;                }            }        }        return count;    }};
0 0
原创粉丝点击