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