题目:
一场比赛中共有 n
支队伍,按从 0
到 n - 1
编号。
给你一个下标从 0 开始、大小为 n * n
的二维布尔矩阵 grid
。对于满足 0 <= i, j <= n - 1
且 i != j
的所有 i, j
:如果 grid[i][j] == 1
,那么 i
队比 j
队 强 ;否则,j
队比 i
队 强 。
在这场比赛中,如果不存在某支强于 a
队的队伍,则认为 a
队将会是 冠军 。
返回这场比赛中将会成为冠军的队伍。
思考:
“如果不存在某支强于 a
队的队伍,则认为 a
队将会是冠军。” ----> 矩阵grid中,冠军a那一行中的所有值都应该为1(第a列除外)
那么,只需要遍历每一行i,只要出现0,则i不是冠军,代码如下:
class Solution(object):
def findChampion(self, grid):
"""
:type grid: List[List[int]]
:rtype: int
"""
n = len(grid)
for i in range(0, n):
win = 1
for j in range(0, n):
if i == j:
continue
if grid[i][j] != 1: # 出现0说明i不是冠军
win = 0
break
if win ==1:
return i
提交通过: