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