Open In App

Python map function to find row with maximum number of 1’s

Given a boolean 2D array, where each row is sorted. Find the row with the maximum number of 1s. 

Examples:



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

We have existing solution for this problem please refer Find the row with maximum number of 1’s. We can solve this problem in python quickly using map() function. Approach is very simple, find sum of all 1’s in each row and then print index of maximum sum in a list because row having maximum 1 will also have maximum sum. 

Implementation:






# 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)

Output
2

Complexity : O(M*N)

Article Tags :