题目:
一场比赛中共有 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
提交通过:
这篇文章描述了一个编程问题,涉及在一个二维布尔矩阵中确定在没有更强队伍的情况下,编号为a的队伍能否成为冠军。通过遍历矩阵并检查每行,如果发现某行存在0,则表示该队不是冠军,最终返回符合条件的冠军队伍编号。
4801

被折叠的 条评论
为什么被折叠?



