上一篇博客:为什么忘记密码要重置密码而不是直接告诉你密码?
写在前面:大家好!我是
晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!
用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง
原题链接:LeetCode 2923. 找到冠军 I
文章目录
- 题目信息
- 题目描述
- 示例 1
- 示例 2
- 提示
- 题解
- 解题思路
- 解题代码
题目信息
题目描述
一场比赛中共有 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 队将会是 冠军 。
返回这场比赛中将会成为冠军的队伍。
示例 1
输入: grid = [[0,1],[0,0]]
输出: 0
解释: 比赛中有两支队伍。
grid[0][1] == 1表示0队比1队强。所以0队是冠军。
示例 2
输入: grid = [[0,0,1],[1,0,1],[0,0,0]]
输出: 1
解释: 比赛中有三支队伍。
grid[1][0] == 1表示1队比0队强。
grid[1][2] == 1表示1队比2队强。
所以1队是冠军。
提示
n == grid.lengthn == grid[i].length2 <= n <= 100grid[i][j]的值为0或1- 对于所有
i,grid[i][i]等于0. - 对于满足
i != j的所有i, j,grid[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;}
}