[LeetCode] 0122. Mejor momento para comprar y vender acciones II

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


Te dan una matriz de números enteros precios dónde precios[i] es el precio de una determinada acción en el yo día.

Cada día, usted puede decidir comprar y/o vender las acciones. Sólo puede mantenerlas. como máximo uno parte de las acciones en cualquier momento. Sin embargo, puede comprarlas y luego venderlas inmediatamente en el mercado. mismo dia.

Encontrar y regresar el máximo beneficio que puedes lograr.

 

Ejemplo 1:

Aporte: precios = [7,1,5,3,6,4]
Producción: 7
Explicación: Compre el día 2 (precio = 1) y venda el día 3 (precio = 5), ganancia = 5-1 = 4. Luego compre el día 4 (precio = 3) y venda el día 5 (precio = 6), obtenga ganancia = 6-3 = 3. La ganancia total es 4 + 3 = 7.

Ejemplo 2:

Aporte: precios = [1,2,3,4,5]
Producción: 4
Explicación: Compre el día 1 (precio = 1) y venda el día 5 (precio = 5), ganancia = 5-1 = 4. La ganancia total es 4.

Ejemplo 3:

Aporte: precios = [7,6,4,3,1]
Producción: 0
Explicación: No hay forma de obtener una ganancia positiva, por lo que nunca compramos acciones para lograr la ganancia máxima de 0.

 

Restricciones:

  • 1 <= precios.longitud <= 3 * 10 4
  • 0 <= precios[i] <= 10 4

Pitón

				
					Complejidad del tiempo de #: O(n) Complejidad del espacio de #: O(1) al escribir import Lista de clase Solución: def maxProfit(self, precios: Lista[int]) -> int: beneficio = 0 para i en rango(1, len (precios)): si precios[i] > precios[i-1]: beneficio += precios[i] - precios[i-1] devolver beneficio precios = [7, 1, 5, 3, 6, 4] imprimir (Solución().maxProfit(precios))
				
			
es_ESEspañol