【LetMeFly】2643.一最多的行:模拟(更新答案) 力扣题目链接:https://leetcode.cn/problems/row-with-maximum-ones/
给你一个大小为 m x n
的二进制矩阵 mat
,请你找出包含最多 1 的行的下标(从 0 开始)以及这一行中 1 的数目。
如果有多行包含最多的 1 ,只需要选择 行下标最小 的那一行。
返回一个由行下标和该行中 1 的数量组成的数组。
示例 1:
输入: mat = [[0,1],[1,0]]
输出: [0,1]
解释: 两行中 1 的数量相同。所以返回下标最小的行,下标为 0 。该行 1 的数量为 1 。所以,答案为 [0,1] 。
示例 2:
输入: mat = [[0,0,0],[0,1,1]]
输出: [1,2]
解释: 下标为 1 的行中 1 的数量最多。
该行 1 的数量为 2 。所以,答案为
[1,2] 。
示例 3:
输入: mat = [[0,0],[1,1],[0,0]]
输出: [1,2]
解释: 下标为 1 的行中 1 的数量最多。该行 1 的数量为 2 。所以,答案为
[1,2] 。
提示:
m == mat.length
n == mat[i].length
1 <= m, n <= 100
mat[i][j]
为 0
或 1
解题方法:模拟 使用一个变量$mx$记录当前一行中的最多1的个数,使用$ans$记录第一个有$mx$个1的行的下标。
遍历每一行,统计每一行的1的个数。如果这一行的1的个数比mx多,就更新mx和ans。
最终返回{ans, mx}
。
AC代码 C++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 class Solution {public : vector<int > rowAndMaximumOnes (vector<vector<int >>& mat) { int mx = 0 , ans = 0 ; for (int i = 0 ; i < mat.size (); i++) { int cnt = 0 ; for (int j = 0 ; j < mat[i].size (); j++) { cnt += mat[i][j]; } if (cnt > mx) { mx = cnt; ans = i; } } return {ans, mx}; } };
Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ''' Author: LetMeFly Date: 2025-03-22 22:44:18 LastEditors: LetMeFly.xyz LastEditTime: 2025-03-22 22:44:32 ''' from typing import List class Solution : def rowAndMaximumOnes (self, mat: List [List [int ]] ) -> List [int ]: mx, ans = 0 , 0 for i in range (len (mat)): cnt = sum (mat[i]) if cnt > mx: mx, ans = cnt, i return [ans, mx]
Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 class Solution { public int [] rowAndMaximumOnes(int [][] mat) { int ans = 0 , mx = 0 ; for (int i = 0 ; i < mat.length; i++) { int cnt = 0 ; for (int j = 0 ; j < mat[i].length; j++) { cnt += mat[i][j]; } if (cnt > mx) { mx = cnt; ans = i; } } return new int []{ans, mx}; } }
Go 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package mainfunc rowAndMaximumOnes (mat [][]int ) []int { ans, mx := 0 , 0 for i := range mat { cnt := 0 for _, t := range mat[i] { cnt += t } if cnt > mx { ans, mx = i, cnt } } return []int {ans, mx} }
同步发文于CSDN 和我的个人博客 ,原创不易,转载经作者同意后请附上原文链接 哦~
千篇源码题解已开源