LeetCode 2923. 找到冠军 I——每日一题

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

写在前面:大家好!我是晴空๓。如果博客中有不足或者的错误的地方欢迎在评论区或者私信我指正,感谢大家的不吝赐教。我的唯一博客更新地址是:https://ac-fun.blog.csdn.net/。非常感谢大家的支持。一起加油,冲鸭!

用知识改变命运,用知识成就未来!加油 (ง •̀o•́)ง (ง •̀o•́)ง

原题链接: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

输入: 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] 的值为 01
  • 对于所有 igrid[i][i] 等于 0.
  • 对于满足 i != j 的所有 i, jgrid[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;
    }
}
相关推荐
ALISHENGYA17 分钟前
全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之分支结构(switch语句)
数据结构·算法
chengooooooo19 分钟前
代码随想录训练营第二十七天| 贪心理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
算法·leetcode·职场和发展
jackiendsc26 分钟前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
姚先生9736 分钟前
LeetCode 54. 螺旋矩阵 (C++实现)
c++·leetcode·矩阵
游是水里的游2 小时前
【算法day20】回溯:子集与全排列问题
算法
yoyobravery2 小时前
c语言大一期末复习
c语言·开发语言·算法
Jiude2 小时前
算法题题解记录——双变量问题的 “枚举右,维护左”
python·算法·面试
被AI抢饭碗的人2 小时前
算法题(13):异或变换
算法
nuyoah♂3 小时前
DAY36|动态规划Part04|LeetCode:1049. 最后一块石头的重量 II、494. 目标和、474.一和零
算法·leetcode·动态规划
上学的小垃圾3 小时前
MPLS基础以及静态LSP的配置
运维·网络·算法