上一篇博客: 为什么忘记密码要重置密码而不是直接告诉你密码?
写在前面:大家好!我是
晴空๓
。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!
用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง
文章目录
题目信息
题目描述
一场比赛中共有 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.length
n == grid[i].length
2 <= n <= 100
grid[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
都加到 第一列 中,最后依次比较第一列数值的大小找出最大的一个队即可。
解题代码
java
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;
}
}