"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Descifrando el LeetCode. Mejor momento para comprar y vender acciones II

Descifrando el LeetCode. Mejor momento para comprar y vender acciones II

Publicado el 2024-08-05
Navegar:431

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.
*

Un enfoque visual

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.

Cracking the LeetCode . Best Time to Buy and Sell Stock II

El enfoque codicioso

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.

Implementación de Python

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

Implementación de JavaScript

/**
 * @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
};

Complejidad del tiempo y el espacio

  • La complejidad temporal de este enfoque es O(N) donde N = longitud de la matriz.
  • La complejidad del espacio es N(1) mientras comparamos en el lugar.
Declaración de liberación Este artículo se reproduce en: https://dev.to/this-is-learning/cracking-the-leetcode-122-best-time-to-buy-and-sell-stock-ii-17k5?1Si hay alguno infracción, comuníquese con [email protected] para eliminar
Último tutorial Más>

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