题目描述

一场比赛中共有 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 队将会是 冠军 。

返回这场比赛中将会成为冠军的队伍。

思路

既然只有一支冠军,那么有一种贪心的思路是从 0 开始找比它强的队伍,然后依次找 grid[i][0],去找比第 0 强的队伍,依次类推,直到整个 grid[i][j] 都为 0(没有比 j 更强的队伍了)

最终代码:

class Solution:
    def findChampion(self, grid: List[List[int]]) -> int:
        win = 0
        n = len(grid)
        flag = False
        while not flag:
            i = 0
            while i < n:
                if grid[i][win] == 1:
                    win = i
                    flag = False
                    break
                i+=1
            if i==n:
                flag = True
        return win

想得太多