Bomb Enemy
https://docs.python.org/2/library/functions.html#zip
zip() : returns a list of tuples
>>> x = [1, 2, 3]
>>> y = [4, 5, 6]
>>> zipped = zip(x, y)
>>> zipped
[(1, 4), (2, 5), (3, 6)]
>>> x2, y2 = zip(*zipped)
>>> x == list(x2) and y == list(y2)
True
class Solution(object):
def maxKilledEnemies(self, grid):
"""
:type grid: List[List[str]]
:rtype: int
"""
def getHits(grid):
res = []
for line in grid:
newLine =[]
for seg in ''.join(line).split('W'):
newLine += [seg.count('E')]*len(seg) + [0]
res.append(newLine)
return res
rowHits = getHits(grid)
colHits = zip(*getHits(zip(*grid)))
res = 0
for i in range(len(grid)):
for j in range(len(grid[0])):
if grid[i][j]=='0':
res = max(res, rowHits[i][j]+colHits[i][j])
return res