python 炸敌人。

给定一个二维矩阵,每一个格子可能是一堵墙 W、一个敌人E或者空0(数字0)。返回用一个炸弹可杀死的最多敌人数。炸弹会杀死所有在同一行和同一列没有墙阻隔的敌人墙不会被摧毁,只能在空地放置炸弹。

python 复制代码
class Solution:
    def maxKilledEnemies(self, grid):
        rows = len(grid)
        cows = len(grid[0])
        cnt = 0
        for i in range(rows):
            for j in range(cows):
                if grid[i][j] == '0':
                    #  分析所在行合理范围有几个E,j在变化
                    s = 0
                    n = j - 1
                    while n >= 0:
                        if grid[i][n] == 'E':
                            s += 1
                        elif grid[i][n] == 'W':
                            break
                        n -= 1
                    n = j + 1
                    while n < cows:
                        if grid[i][n] == 'E':
                            s += 1
                        elif grid[i][n] == 'W':
                            break
                        n += 1
                        #  分析所在列合理范围有几个E, i在变化
                    n = i - 1
                    while n >= 0:
                        if grid[n][j] == 'E':
                            s += 1
                        elif grid[n][j] == 'W':
                            break
                        n -= 1
                    n = i + 1
                    while n < rows:
                        if grid[n][j] == 'E':
                            s += 1
                        elif grid[n][j] == 'W':
                            break
                        n += 1
                    cnt = max(cnt, s)
        return cnt


if __name__ == '__main__':
    g = [
        "0E00",
        "E0WE",
        "0E00"
    ]
    solution = Solution()
    print(solution.maxKilledEnemies(g))
相关推荐
北顾笙98019 小时前
day30-数据结构力扣
数据结构·算法·leetcode
爱写代码的倒霉蛋19 小时前
天梯赛经验总结(细节篇)
经验分享·算法
Hello!!!!!!19 小时前
C++基础(五)——屏幕和文件输入输出
开发语言·c++·算法
Rnan-prince19 小时前
Count-Min Sketch:海量数据频率统计的“轻量级计数器“
python·算法
王老师青少年编程19 小时前
csp信奥赛C++高频考点专项训练之贪心算法 --【排序贪心】:加工生产调度
c++·算法·贪心·csp·信奥赛·排序贪心·加工生产调度
三毛的二哥19 小时前
BEV:MapTR
人工智能·算法·计算机视觉·3d
小菜鸡桃蛋狗19 小时前
C++——vector
开发语言·c++·算法
黎阳之光19 小时前
黎阳之光:以视频孪生硬核实力,抢抓交通科技新机遇
大数据·人工智能·算法·安全·数字孪生
WL_Aurora19 小时前
2026天梯赛题解
python·算法
Engineer邓祥浩19 小时前
知识点1 时间复杂度、空间复杂度
java·数据结构·算法