leetcode-164周赛-1267-统计参与通信的服务器
Posted 真不知道叫啥好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-164周赛-1267-统计参与通信的服务器相关的知识,希望对你有一定的参考价值。
题目描述:
自己的提交:
class Solution: def countServers(self, grid: List[List[int]]) -> int: from collections import Counter m,n = len(grid),len(grid[0]) falg = set() set1,set2 = Counter(),Counter() res = 0 for i in range(m): for j in range(n): if grid[i][j] == 1: if set1[i] > 0 or set2[j] > 0: res += 1 if set1[i] == 1: for x in falg: if x[0] == i: res += 1 falg.remove(x) break if set2[j] == 1: for x in falg: if x[1] == j: res += 1 falg.remove(x) break else: falg.add((i,j)) set1[i] += 1 set2[j] += 1 return res
优化:
class Solution: def countServers(self, grid: List[List[int]]) -> int: n,m=len(grid),len(grid[0]) col=[0]*m row=[0]*n for i in range(n): for j in range(m): if grid[i][j]: row[i]+=1 col[j]+=1 ans=0 for i in range(n): for j in range(m): if grid[i][j] and (col[j]>1 or row[i]>1): ans+=1 return ans
以上是关于leetcode-164周赛-1267-统计参与通信的服务器的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Algorithm 1267. 统计参与通信的服务器