初学python记录:力扣2923. 找到冠军 I

这篇文章描述了一个编程问题,涉及在一个二维布尔矩阵中确定在没有更强队伍的情况下,编号为a的队伍能否成为冠军。通过遍历矩阵并检查每行,如果发现某行存在0,则表示该队不是冠军,最终返回符合条件的冠军队伍编号。
摘要由CSDN通过智能技术生成

题目:

一场比赛中共有 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

提交通过:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值