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;
    }
}
相关推荐
MicroTech2025几秒前
突破虚时演化非酉限制:MLGO微算法科技发布可在现有量子计算机运行的变分量子模拟技术
科技·算法·量子计算
hssfscv7 分钟前
软件设计师下午题六——Java的各种设计模式
java·算法·设计模式
珂朵莉MM16 分钟前
第七届全球校园人工智能算法精英大赛-算法巅峰赛产业命题赛第3赛季优化题--多策略混合算法
人工智能·算法
罗西的思考22 分钟前
【OpenClaw】通过 Nanobot 源码学习架构---(6)Skills
人工智能·深度学习·算法
枫叶林FYL26 分钟前
【自然语言处理 NLP】7.2 红队测试与对抗鲁棒性(Red Teaming & Adversarial Robustness)
人工智能·算法·机器学习
qiqsevenqiqiqiqi28 分钟前
字符串模板
算法
Fcy64838 分钟前
算法基础详解(六)倍增思想与离散化思想
算法·快速幂·离散化·倍增算法
wuweijianlove1 小时前
算法调度问题中的代价模型与优化方法的技术5
算法
Dxy12393102161 小时前
Python路径算法简介
开发语言·python·算法
And_Ii1 小时前
LCR 132.砍竹子Ⅱ
算法