LeetCode 361 [Bomb Enemy]

原题

Given a 2D grid, each cell is either a wall 'W', an enemy 'E' or empty '0' (the number zero), return the maximum enemies you can kill using one bomb.The bomb kills all the enemies in the same row and column from the planted point until it hits the wall since the wall is too strong to be destroyed.

样例
给出如下矩阵

0 E 0 0
E 0 W E
0 E 0 0

返回3,把炸弹放在(1, 1)可以炸死3个敌人

解题思路

  • 双重for循环遍历矩阵
  • 如果是第一行或者第一列,就记录一下current到下一个墙中间的敌人数量,知道下一次遇见墙,重新计算这面墙之后到下一面墙中间的敌人数量

完整代码

class Solution:
    # @param {character[][]} grid Given a 2D grid, each cell is either 'W', 'E' or '0'
    # @return {int} an integer, the maximum enemies you can kill using one bomb
    def maxKilledEnemies(self, grid):
        # Write your code here
        m, n = len(grid), 0
        if m:
            n = len(grid[0])
        
        res, rows = 0, 0
        cols = [0 for i in range(n)]
        
        for i in range(m):
            for j in range(n):
                if j == 0 or grid[i][j - 1] == "W":
                    rows = 0
                    for k in range(j, n):
                        if grid[i][k] == "W":
                            break
                        if grid[i][k] == "E":
                            rows += 1
                        
                if i == 0 or grid[i - 1][j] == "W":
                    cols[j] = 0
                    for k in range(i, m):
                        if grid[k][j] == "W":
                            break
                        if grid[k][j] == "E":
                            cols[j] += 1
                
                if grid[i][j] == "0" and rows + cols[j] > res:
                    res = rows + cols[j]
        
        return res
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • “ 有一个夜晚我烧毁了所有的记忆,从此我的梦就透明了;有一个早晨我扔掉了所有的昨天,从此我的脚步就轻盈了 。” —...
    青砾兰阅读 236评论 0 0
  • 十一月的第一天,时间过的好快,再过几天就要期中考试了,希望我的宝贝能考个好成绩,今晚复习了一下,早点休息!
    尚源希妈妈阅读 161评论 0 0
  • 今天又是大雨,最近的心情也是跟着天气走,不是那么好。 这几天微博上最火的就是宝强离婚的事情了,然后b站跟风上了14...
    张大麦麦麦阅读 89评论 0 0
  • 我做了一个美妙的梦。 梦中是我憧憬的柔软的玩偶、精美的礼盒和心仪的礼服。 漂亮精致的我几乎以为那是世上最美妙的东西...
    一个苡阅读 219评论 0 0