[LeetCode] 0152. Subconjunto máximo de productos

1

Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github

Tabla de contenido

Medio

 


Dada una matriz de enteros números, busque un subarreglo que tenga el producto más grande y devuelva el producto.

Los casos de prueba se generan para que la respuesta encaje en un 32 bitsentero.

Ejemplo 1:

Aporte: números = [2,3,-2,4]
Producción: 6
Explicación: [2,3] tiene el producto más grande 6.

Ejemplo 2:

Aporte: números = [-2,0,-1]
Producción: 0
Explicación: El resultado no puede ser 2 porque [-2,-1] no es un subarreglo.

Restricciones:

  • 1 <= números.longitud <= 2*10 4
  • -10 <= números[i] <= 10
  • El producto de cualquier subconjunto de números es garantizado para encajar en un 32 bits entero.

Pitón

				
					Complejidad de tiempo de #: O(n) Complejidad de espacio de #: O(1) al escribir import List class Solución: def maxProduct(self, nums: List[int]) -> int: if len(nums) == 0: return 0 maxHastaFar, minHastaFar, resultado = nums[0], nums[0], nums[0] para i en rango(1, len(nums)): curr = nums[i] tempMax = max(curr, max(maxSoFar * curr , minHasta ahora * curr)) minHasta ahora = min(curr, min(maxHasta ahora * curr, minHasta ahora * curr)) maxHasta ahora = tempMax resultado = max(resultado, maxHasta ahora) devolver resultado números = [-2, 0, -1] print(Solución ().maxProduct(numeros))
				
			
es_ESEspañol