Función de mapa de Python para encontrar una fila con el número máximo de 1

Dada una array booleana 2D, donde se ordena cada fila. Encuentre la fila con el número máximo de 1s. 

Ejemplos:

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

Tenemos una solución existente para este problema, consulte Encuentre la fila con el número máximo de 1 . Podemos resolver este problema en python rápidamente usando la función map() . El enfoque es muy simple, encuentre la suma de todos los 1 en cada fila y luego imprima el índice de la suma máxima en una lista porque la fila que tiene el máximo 1 también tendrá la suma máxima. 

Implementación:

Python3

# 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)
Producción

2

Complejidad : O(M*N)

Publicación traducida automáticamente

Artículo escrito por Shashank Mishra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *