网站建设公司排行,建站模板免费,网店怎么开起来,网站开发赚钱吗 知乎LeetCode 每日一题 ---- 【2923. 找到冠军 I】 2923.找到冠军I方法一#xff1a;暴力求解 2923.找到冠军I
方法一#xff1a;暴力求解
从头遍历一遍二维数组#xff0c;如果发现 gird[x][y] 1#xff0c;说明 x 队赢过 y 队#xff0c;下面我们就只需要子再判断一下是否… LeetCode 每日一题 ---- 【2923. 找到冠军 I】 2923.找到冠军I方法一暴力求解 2923.找到冠军I
方法一暴力求解
从头遍历一遍二维数组如果发现 gird[x][y] 1说明 x 队赢过 y 队下面我们就只需要子再判断一下是否有队伍赢过 y 队如果没有赢过则更新答案为 y 队如果有队伍赢过我们就不更新答案继续进行遍历。
class Solution {public int findChampion(int[][] grid) {// 如果 grid[i][j] 1那么 i 队比 j 队 强 否则j 队比 i 队 强 。// 如果不存在某支强于 a 队的队伍则认为 a 队将会是 冠军 int n grid.length;int ans -1;for (int i 0; i n; i ) {int[] line grid[i];for (int num : line) {if (num 1) {if (check(i, grid) 1) ans i;}}}return ans;}private int check(int x, int[][] grid) {int n grid.length;for (int i 0; i n; i ) {if (grid[i][x] 1) return 0;}return 1;}
}
/*
0 1
0 00 10 0 1
1 0 1
0 0 00 21 0
1 2*/时间复杂度 O(n3)遍历一遍二维数组 单行遍历
空间复杂度 O(1)