Listas dadas en una lista, encuentre la suma máxima de elementos de lista en una lista de listas. Ejemplos:
Input : [[1, 2, 3], [4, 5, 6], [10, 11, 12], [7, 8, 9]] Output : 33 Explanation: sum of all lists in the given list of lists are: list1 = 6, list2 = 15, list3 = 33, list4 = 24 so the maximum among these is of Input : [[3, 4, 5], [1, 2, 3], [0, 9, 0]] Output : 12
Método 1: Recorrido de lista en listas
Podemos recorrer las listas dentro de la lista y sumar todos los elementos en una lista dada y mediante la función max obtener el máximo de la suma de todos los elementos en las listas de la lista.
Python
# Python program to find the # list in a list of lists whose # sum of elements is the highest # using traversal def maximumSum(list1): maxi = 0 # traversal in the lists for x in list1: sum = 0 # traversal in list of lists for y in x: sum+= y maxi = max(sum, maxi) return maxi # driver code list1 = [[1, 2, 3], [4, 5, 6], [10, 11, 12], [7, 8, 9]] print maximumSum(list1)
Producción:
33
Complejidad temporal: O(n*m) donde n es el número de listas y m es el tamaño máximo de la lista.
Espacio Auxiliar: O(1)
Método 2: Recorrido de la lista
Recorra solo la lista externa y sume todos los elementos en las listas internas usando la función sum() , encuentre la suma de todas las listas y obtenga el máximo de todas las sumas calculadas.
Python
# Python program to find the # list in a list of lists whose # sum of elements is the highest # using sum and max function and traversal def maximumSum(list1): maxi = 0 # traversal for x in list1: maxi = max(sum(x), maxi) return maxi # driver code list1 = [[1, 2, 3], [4, 5, 6], [10, 11, 12], [7, 8, 9]] print maximumSum(list1)
Producción:
33
Complejidad temporal: O(n*m) donde n es el número de listas y m es el tamaño máximo de la lista.
Espacio Auxiliar: O(1)
Método 3: función Suma y Max
sum(max(list1, key=sum))
La sintaxis anterior de la función max() nos permite encontrar la suma de la lista en la lista usando key=sum . max(list1, key=sum) , encuentra la lista con la suma máxima de elementos y luego sum(max(list1, key=sum)) nos devuelve la suma de esa lista.
Python
# Python program to find the # list in a list of lists whose # sum of elements is the highest # using sum and max function def maximumSum(list1): return(sum(max(list1, key = sum))) # driver code list1 = [[1, 2, 3], [4, 5, 6], [10, 11, 12], [7, 8, 9]] print maximumSum(list1)
Producción:
33
Complejidad temporal: O(n*m) donde n es el número de listas y m es el tamaño máximo de la lista.
Espacio Auxiliar: O(1)