歡迎點擊「算法與編程之美」↑關注我們!
本文首發於微信公衆號:"算法與編程之美",歡迎關注,及時瞭解更多此係列文章。
歡迎加入團隊圈子!與作者面對面!直接點擊!
問題描述
這裏有一幅服務器分佈圖,服務器的位置標識在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 團隊
微信號:算法與編程之美
長按識別二維碼關注我們!
溫馨提示:點擊頁面右下角“寫留言”發表評論,期待您的參與!期待您的轉發!