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
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))