En mi búsqueda continua para perfeccionar mis habilidades de LeetCode, abordé el problema "Mejor momento para comprar y vender acciones II". Este desafío es una continuación del clásico problema "Mejor momento para comprar y vender acciones II" (LeetCode 121), pero con una diferencia crucial: *puedes ejecutar múltiples transacciones para maximizar las ganancias.
*
Antes de sumergirme en el código, encontré increíblemente útil visualizar el problema en una pizarra. Esto me permitió dividir el problema en pasos más pequeños y manejables.
Dada la flexibilidad para realizar transacciones ilimitadas, un enfoque codicioso parecía prometedor. La idea central es simple: siempre que el precio de una acción aumenta en comparación con el día anterior, lo consideramos una posible oportunidad de obtener ganancias. Sumando todas estas diferencias de precios, calculamos efectivamente el beneficio máximo.
Aquí está el código Python que implementa esta estrategia codiciosa:
class Solution: def maxProfit(self, prices: List[int]) -> int: profit = 0 for i in range(1, len(prices)): if prices[i] > prices[i-1]: profit =prices[i] - prices[i-1] return profit
/** * @param {number[]} prices * @return {number} */ var maxProfit = function(prices) { var profit = 0; for (var i = 1; i prices[i-1]) { profit = Number(prices[i] - prices[i-1]) } } return profit };
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3