/* * @LastEditTime: 2026-11-08 10:49:20 */ classSolution { public: intcountServers(vector<vector<int>>& grid){ int n = grid.size(), m = grid[0].size(); vector<int> line(n), row(m); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (grid[i][j]) { line[i]++; row[j]++; } } }
int ans = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { ans += grid[i][j] && (line[i] > 1 || row[j] > 1); } } return ans; } };
Python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# from typing import List
classSolution: defcountServers(self, grid: List[List[int]]) -> int: n, m = len(grid), len(grid[0]) col, row = [0] * n, [0] * m for i inrange(n): for j inrange(m): col[i] += grid[i][j] row[j] += grid[i][j] ans = 0 for i inrange(n): for j inrange(m): ans += grid[i][j] * (col[i] > 1or row[j] > 1) return ans
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
''' LastEditTime: 2026-11-08 10:56:14 ''' classSolution: defcountServers(self, grid: list[list[int]]) -> int: n, m = len(grid), len(grid[0]) a, b = [0] * n, [0] * m for i, row inenumerate(grid): for j, v inenumerate(row): if v: a[i] += 1 b[j] += 1
ans = 0 for i, row inenumerate(grid): for j, v inenumerate(row): if v and (a[i] > 1or b[j] > 1): ans += 1 return ans
/* * @LastEditTime: 2026-11-08 10:52:49 */ package main
funccountServers(grid [][]int) (ans int) { n, m := len(grid), len(grid[0]) a, b := make([]int, n), make([]int, m) for i, row := range grid { for j, v := range row { if v == 1 { a[i]++ b[j]++ } } }
for i, row := range grid { for j, v := range row { if v == 1 && (a[i] > 1 || b[j] > 1) { ans++ } } } return }