1. Description
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAjM2EzLcd3LcJzLcJzdllmVldWYtl2Pn5GcuUDMzETN4gDMwEWMmFGN2QTN2U2NhNjY2kTZjZmZxYzYvw1M4YDNyETMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
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/