2024.4.12力扣每日一题——找到冠军 I

2024.4.12

      • 题目来源
      • 我的题解
        • [方法一 哈希表](#方法一 哈希表)
        • [方法二 列式遍历+统计](#方法二 列式遍历+统计)
        • [方法三 列式遍历优化+统计](#方法三 列式遍历优化+统计)

题目来源

力扣每日一题;题序:2923

我的题解

方法一 哈希表

哈希表存储不可能是冠军的队伍,最后没在哈希表中的队伍就是冠军。
时间复杂度 :O( n 2 n^2 n2)
空间复杂度:O(n)

java 复制代码
public int findChampion(int[][] grid) {
    Set<Integer> set=new HashSet<>();
    int n=grid.length;
    for(int i=0;i<n;i++){
        if(set.contains(i))
            continue;
        for(int j=0;j<n;j++){
            if(grid[i][j]==1){
                set.add(j);
            }
        }
    }
    int res=0;
    for(int i=0;i<n;i++){
        if(!set.contains(i)){
            res=i;
            break;
        }
    }
    return res;
}
方法二 列式遍历+统计

按列遍历,统计值为1的个数,个数为n-1的就是冠军
时间复杂度:O( n 2 n^2 n2)

空间复杂度:O(1)

java 复制代码
public int findChampion(int[][] grid) {
    int n=grid.length;
    int res=0;
    for(int i=0;i<n;i++){
        int count=0;
        for(int j=0;j<n;j++){
            if(i!=j&&grid[i][j]==1)
                count++;
        }
        if(count==n-1){
            res=i;
            break;
        }
    }
    return res;
}
方法三 列式遍历优化+统计

按列遍历,直接计算一列的和,和为n-1的就是冠军
时间复杂度:O( n 2 n^2 n2)

空间复杂度:O(1)

java 复制代码
public int findChampion(int[][] grid) {
   int n=grid.length;
   int res=0;
   for(int i=0;i<n;i++){
       int count=0;
       for(int j=0;j<n;j++){
           count+=grid[i][j];
       }
       if(count==n-1){
           res=i;
           break;
       }
   }
   return res;
}

有任何问题,欢迎评论区交流,欢迎评论区提供其它解题思路(代码),也可以点个赞支持一下作者哈😄~

相关推荐
仰泳之鹅3 分钟前
【杂谈】C语言中的链接属性、声明周期以及static关键字
java·c语言·前端
weixin_531651815 分钟前
Java 正则表达式
java·正则表达式
空空kkk5 分钟前
Spring Boot项目的搭建
java·spring boot·后端
2501_940315266 分钟前
【无标题】(leetcode933)最近的请求次数
java·前端·javascript
Sheep Shaun9 分钟前
深入理解红黑树:从概念到完整C++实现详解
java·开发语言·数据结构·c++·b树·算法
每天学习一丢丢10 分钟前
Spring Boot 调用泛微 E9 Token 认证 + 创建流程完整教程
java·spring boot·后端
Dave.B10 分钟前
:vtkBooleanOperationPolyDataFilter 布尔运算全解析
算法·vtk
苦逼的老王13 分钟前
《java-使用kkview+libreoffice 实现在线预览ppt、xls、doc、pdf..》
java·pdf·powerpoint
易晨 微盛·企微管家15 分钟前
2025企业微信AI智能机器人实战指南:3步实现客服自动化
大数据·人工智能·算法
没有bug.的程序员15 分钟前
Spring Boot 启动原理:从 @SpringBootApplication 到自动配置深度解析
java·spring boot·后端·python·springboot·application