欢迎点击「算法与编程之美」↑关注我们!
本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。
欢迎加入团队圈子!与作者面对面!直接点击!
问题描述
这里有一幅服务器分布图,服务器的位置标识在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 团队
微信号:算法与编程之美
长按识别二维码关注我们!
温馨提示:点击页面右下角“写留言”发表评论,期待您的参与!期待您的转发!