zoukankan      html  css  js  c++  java
  • 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.
    Note that you can only put the bomb at an empty cell. 

    Example:

    For the given grid
    
    0 E 0 0
    E 0 W E
    0 E 0 0
    
    return 3. (Placing a bomb at (1,1) kills 3 enemies)

    class Solution {
    public:
    int maxKilledEnemies(vector<vector<char>>& grid) {
    if (grid.empty() || grid[0].empty()) return 0;
    int m = grid.size(), n = grid[0].size(), res = 0;
    vector<vector<int>> v1(m, vector<int>(n, 0)), v2 = v1, v3 = v1, v4 = v1;
    for (int i = 0; i < m; ++i) {
    for (int j = 0; j < n; ++j) {
    int t = (j == 0 || grid[i][j] == 'W') ? 0 : v1[i][j - 1];
    v1[i][j] = grid[i][j] == 'E' ? t + 1 : t;
    }
    for (int j = n - 1; j >= 0; --j) {
    int t = (j == n - 1 || grid[i][j] == 'W') ? 0 : v2[i][j + 1];
    v2[i][j] = grid[i][j] == 'E' ? t + 1 : t;
    }
    }
    for (int j = 0; j < n; ++j) {
    for (int i = 0; i < m; ++i) {
    int t = (i == 0 || grid[i][j] == 'W') ? 0 : v3[i - 1][j];
    v3[i][j] = grid[i][j] == 'E' ? t + 1 : t;
    }
    for (int i = m - 1; i >= 0; --i) {
    int t = (i == m - 1 || grid[i][j] == 'W') ? 0 : v4[i + 1][j];
    v4[i][j] = grid[i][j] == 'E' ? t + 1 : t;
    }
    }
    for (int i = 0; i < m; ++i) {
    for (int j = 0; j < n; ++j) {
    if (grid[i][j] == '0') {
    res = max(res, v1[i][j] + v2[i][j] + v3[i][j] + v4[i][j]);
    }
    }
    }
    return res;
    }
    };

    转载于:https://www.cnblogs.com/jxr041100/p/8317312.html

  • 相关阅读:
    在eclipse外边打开浏览器
    双开Eclipse
    6.5版本的CentOSLinux
    Intel x86_64 Architecture Background 3
    Java 大数、高精度模板
    Intel x86_64 Architecture Background 2
    Intel x86_64 Architecture Background 1
    Codeforces 999D Equalize the Remainders (set使用)
    Codeforces 996E Leaving the Bar (随机化)
    欧拉函数(小于或等于n的数中与n互质的数的数目)&& 欧拉函数线性筛法
  • 原文地址:https://www.cnblogs.com/twodog/p/12137659.html
Copyright © 2011-2022 走看看