C/C++教程

leetcode 419甲板上的战舰

本文主要是介绍leetcode 419甲板上的战舰,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

leetcode
扫描一遍
如果左边或者上边有X则不加,反之则加,注意边界判断

class Solution {
public:
    int countBattleships(vector<vector<char>>& board) {
        int num = 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 + j == 0)
                        num++;
                    else if(i == 0 && board[i][j - 1] == '.')
                        num++;
                    else if(j == 0 && board[i - 1][j] == '.')
                        num++;
                    else if(i * j && board[i][j - 1] == '.' && board[i - 1][j] == '.')
                        num++;
                }
            }
        }
        return num;
    }
};
这篇关于leetcode 419甲板上的战舰的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!