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;
    }
}
相关推荐
✿ ༺ ོIT技术༻39 分钟前
剑指offer第2版:链表系列
数据结构·算法·链表
yiridancan1 小时前
终极剖析HashMap:数据结构、哈希冲突与解决方案全解
java·数据结构·算法·哈希算法
满分观察网友z1 小时前
性能优化大作战:从 O(N*M) 到 O(N),我的哈希表奇遇记(1865. 找出和为指定值的下标对)
算法
点云SLAM3 小时前
二叉树算法详解和C++代码示例
数据结构·c++·算法·红黑树·二叉树算法
今天背单词了吗98010 小时前
算法学习笔记:19.牛顿迭代法——从原理到实战,涵盖 LeetCode 与考研 408 例题
笔记·学习·算法·牛顿迭代法
jdlxx_dongfangxing11 小时前
进制转换算法详解及应用
算法
why技术12 小时前
也是出息了,业务代码里面也用上算法了。
java·后端·算法
2501_9228955812 小时前
字符函数和字符串函数(下)- 暴力匹配算法
算法
IT信息技术学习圈13 小时前
算法核心知识复习:排序算法对比 + 递归与递推深度解析(根据GESP四级题目总结)
算法·排序算法
愚润求学13 小时前
【动态规划】01背包问题
c++·算法·leetcode·动态规划