📜  Python映射函数查找最大数量为1的行

📅  最后修改于: 2022-05-13 01:55:43.417000             🧑  作者: Mango

Python映射函数查找最大数量为1的行

给定一个布尔二维数组,其中每一行都已排序。找到最大数量为 1 的行。

例子:

Example
Input: matrix =
[[0, 1, 1, 1],
 [0, 0, 1, 1],
 [1, 1, 1, 1],  
 [0, 0, 0, 0]]
Output: 2

我们有解决此问题的现有解决方案,请参阅查找最大数量为 1 的行。我们可以使用 map()函数在Python中快速解决这个问题。方法很简单,找到每行中所有 1 的总和,然后在列表中打印最大总和的索引,因为具有最大 1 的行也将具有最大总和。

# Function to find the row with maximum number of 1's
def maxOnes(input):
  
     # map sum function on each row of
     # given matrix
     # it will return list of sum of all one's
     # in each row, then find index of maximum element
     result = list(map(sum,input))
     print (result.index(max(result)))
  
# Driver program
if __name__ == "__main__":
    input = [[0, 1, 1, 1],[0, 0, 1, 1],[1, 1, 1, 1],[0, 0, 0, 0]]
    maxOnes(input)

复杂度: O(M*N)

输出:

2