1. Description
2. Solution
**解析:**Version 1,统计行和和列和,然后逐个判断。
- Version 1
class Solution:
def countServers(self, grid: List[List[int]]) -> int:
m = len(grid)
n = len(grid[0])
# rowSum = [sum(grid[i]) for i in range(m)]
# colSum = [sum(x) for x in zip(*grid)]
rowSum = [0] * m
colSum = [0] * n
for i in range(m):
for j in range(n):
if grid[i][j] == 1:
rowSum[i] = 1
colSum[j] = 1
count = 0
for i in range(m):
for j in range(n):
if grid[i][j] == 1 and (rowSum[i] > 1 or colSum[j] > 1):
count = 1
return count
Reference
- https://leetcode.com/problems/count-servers-that-communicate/