419. Battleships in a Board

class Solution(object):
    def countBattleships(self, board):
        """
        :type board: List[List[str]]
        :rtype: int
        """
        if not board or len(board[0])==0: return 0
        
        count=1 if board[0][0]=='X' else 0
        
        for i in range(1,len(board)):
            if board[i][0]=='X' and board[i-1][0]=='.':
                count+=1
        for j in range(1,len(board[0])):
            if board[0][j]=='X' and board[0][j-1]=='.':
                count+=1
        for i in range(1,len(board)):
            for j in range(1,len(board[0])):
                if board[i][j]=='X' and board[i][j-1]=='.' \
                and board[i-1][j]=='.':
                    count+=1
        return count 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 题目描述 Given an 2D board, count how many battleships are in...
    龙之力量V阅读 2,944评论 2 1
  • 问题: Given an 2D board, count how many different battleshi...
    Cloudox_阅读 2,801评论 0 0
  • 思路(代码优化了该思路) 初始化:count = 0 遍历二维数组:遇到'X'时判断当前块的上方和左方存在'X'与...
    XYZ7阅读 1,599评论 0 0
  • 忘了有多久没有做梦了。就在昨夜,有一个少年突然闯进了我的梦。 那是一个嘴角带着微笑的少年,头发柔柔的贴在耳旁,格子...
    丁小谢阅读 3,008评论 3 4
  • 我拥有的不过这一刻 低头深思 那最深刻的寂寞 快乐是永恒 对自己的承诺 你的温情融化了我 倾心感受 爱上了斑驳的生...
    翔宜阅读 1,449评论 0 4