MCPcopy
hub / github.com/HuberTRoy/leetCode / getFootballFans

Function getFootballFans

Array/FootballFans.py:44–91  ·  view source on GitHub ↗

[[0, 0, 0].....] 从 0,0 开始,如果遇到1则进入递归: 递归结束条件: 四周都是 0或边界。 结束时将搜索到的人数添加。 未结束时根据四周的情况进入相同的递归。

(court)

Source from the content-addressed store, hash-verified

42 (x+1, y-1))
43
44def getFootballFans(court):
45 """
46 [[0, 0, 0].....]
47 从 0,0 开始,如果遇到1则进入递归:
48 递归结束条件:
49 四周都是 0或边界。
50 结束时将搜索到的人数添加。
51 未结束时根据四周的情况进入相同的递归。
52 """
53
54 fans_groups = []
55 x = 0
56 y = 0
57
58 x_length = len(court[0])
59 y_length = len(court)
60
61 def helper(x, y, result=0):
62 nonlocal court
63 Xy = makeAroundXY(x, y)
64 for i in Xy:
65 try:
66 if i[0] < 0 or i[1] < 0:
67 continue
68
69 if court[i[1]][i[0]] == 1:
70 court[i[1]][i[0]] = 0
71 result += 1
72 t = helper(i[0], i[1], 0)
73 result += t
74 except IndexError:
75 continue
76 else:
77 return result
78
79
80 for y in range(y_length):
81 for x in range(x_length):
82 if court[y][x] == 1:
83 court[y][x] = 0
84 fans_groups.append(helper(x, y, 1))
85
86
87
88 if not fans_groups:
89 return (0, 0)
90
91 return (len(fans_groups, max(fans_groups)))
92
93getFootballFans(test)

Callers 1

FootballFans.pyFile · 0.85

Calls 1

helperFunction · 0.70

Tested by

no test coverage detected