上一篇博客:为什么忘记密码要重置密码而不是直接告诉你密码?

原题链接:LeetCode 2923. 找到冠军 I

题目信息

题目描述

 一场比赛中共有 n 支队伍,按从 0n - 1 编号。

 给你一个下标从 0 开始、大小为 n * n 的二维布尔矩阵 grid 。对于满足 0 <= i, j <= n - 1i != j 的所有 i, j :如果 grid[i][j] == 1,那么 i 队比 j ;否则,j 队比 i

 在这场比赛中,如果不存在某支强于 a 队的队伍,则认为 a 队将会是 冠军

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

示例 1

示例 2

提示

  • n == grid.length
  • n == grid[i].length
  • 2 <= n <= 100
  • grid[i][j] 的值为 01
  • 对于所有 igrid[i][i] 等于 0.
  • 对于满足 i != j 的所有 i, jgrid[i][j] != grid[j][i] 均成立
  • 生成的输入满足:如果 a 队比 b 队强,b 队比 c 队强,那么 a 队比 c 队强

题解

解题思路

 今天的每日一题挺简单,直接遍历一下二维数组即可。我的解法是把所有的1都加到 第一列 中,最后依次比较第一列数值的大小找出最大的一个队即可。

解题代码

class Solution {
    public int findChampion(int[][] grid) {
        int champion = 0, score = 0;
        for (int i = 0; i < grid.length; i++) {
            for (int j = 1; j < grid[i].length; j++) {
                grid[i][0] += grid[i][j];
            }
        }
        for (int i = 0; i < grid.length; i++) {
            if (grid[i][0] > score) {
                score = grid[i][0];
                champion = i;
            } 
        }
        return champion;
    }
}
04-13 05:12