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 precios
dónde precios[i]
es el precio de una determinada acción en el yo
día.
Quiere maximizar sus ganancias eligiendo un solo dia comprar una acción y elegir una diferentes días en el futuro vender esas acciones.
Devolver el beneficio máximo que puede obtener de esta transacciónSi no puede obtener ningún beneficio, regrese. 0
.
Ejemplo 1:
Aporte: precios = [7,1,5,3,6,4] Producción: 5 Explicación: Compre el día 2 (precio = 1) y venda el día 5 (precio = 6), ganancia = 6-1 = 5. Tenga en cuenta que no se permite comprar el día 2 y vender el día 1 porque debe comprar antes de vender.
Ejemplo 2:
Aporte: precios = [7,6,4,3,1] Producción: 0 Explicación: En este caso, no se realizan transacciones y el beneficio máximo = 0.
Restricciones:
1 <= precios.longitud <= 10 5
0 <= precios[i] <= 10 4
Pitón
Complejidad de tiempo de #: O(n) Complejidad de espacio de #: O(1) al escribir import Lista clase Solución(objeto): def maxProfit(self, precios: Lista[int]) -> int: beneficio, precio más pequeño = 0, 99999 para precio en precios: si precio < Precio más pequeño: Precio más pequeño = precio else: beneficio = max(beneficio, precio - Precio más pequeño) devuelve beneficio Lista de Precios = [7, 1, 5, 3, 6, 4] solución = Solución() print(solución. maxProfit(Lista de precios))