问题描述
这里有一幅服务器分布图,服务器的位置标识在m*n的整数矩阵网格grid中,1表示单元格上有服务器,0表示没有。
如果两台服务器位于同一行或者同一列,我们就认为它们之间可以进行通信。
请你统计并返回能够与至少一台其他服务器进行通信的服务器的数量。
解决方案
这个题的思路很多,一种是把不符合的去掉,最后再数‘1’,另一种是直接数,先横后纵的数。
我这里的代码是第二种。
具体代码:
for i in grid:
‘1’是否大于 n += i.count(1) #符合就计入总数
for g in range(len(grid)):
if j != g and grid[j][f] == grid[g][f] == 1 and grid[g].count(1) == 1: #满足‘1’的那一行没有另一个‘1’的之前就已经计入了。
print(n)
END实习主编 | 王楠岚
责 编 | 周茂林
where2go 团队
微信号:算法与编程之美
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。