码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode1267

时间:2019-11-24 14:08:56      阅读:55      评论:0      收藏:0      [点我收藏+]

标签:sim   使用   思路   div   dfs   ==   https   class   -o   

 1 class Solution:
 2     def dfs(self,grid,m,n,i,j):
 3         grid[i][j] = 0
 4         res = 1
 5         for x in range(m):
 6             if grid[x][j] == 1:
 7                 res += self.dfs(grid,m,n,x,j)
 8         for y in range(n):
 9             if grid[i][y] == 1:
10                 res += self.dfs(grid,m,n,i,y)
11         return res
12 
13     def countServers(self, grid: List[List[int]]) -> int:
14         m = len(grid)#row
15         n = len(grid[0])#column
16         count = 0
17         direct = [[-1,0],[1,0],[0,-1],[0,1]]
18         for i in range(m):
19             for j in range(n):
20                 if grid[i][j] == 1:
21                     temp = self.dfs(grid,m,n,i,j)
22                     if temp > 1:
23                         count += temp
24         return count

这道题目使用DFS处理,但是dfs内部的逻辑不太好想,比赛的时候开始有思路,调试了几次都不对,脑子就变空白了,一直没有做出来。

参考:https://leetcode.com/problems/count-servers-that-communicate/discuss/436167/Simple-java-DFS-solution-similar-to-200.-number-of-islands

leetcode1267

标签:sim   使用   思路   div   dfs   ==   https   class   -o   

原文地址:https://www.cnblogs.com/asenyang/p/11921938.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!