Categorías
Algorithms

LeetCode – Mejor momento para comprar y vender acciones (Java)

Supongamos que tiene una matriz para la que el i-ésimo elemento es el precio de una acción determinada el día i.

Si solo se le permitió completar como máximo una transacción (es decir, comprar una y vender una acción), diseñe un algoritmo para encontrar la máxima ganancia.

Solución Java

En lugar de realizar un seguimiento del elemento más grande de la matriz, hacemos un seguimiento del beneficio máximo hasta ahora.

public int maxProfit(int[] prices) {
    if(prices==null||prices.length<=1)
        return 0;
 
    int min=prices[0]; // min so far
    int result=0;
 
    for(int i=1; i<prices.length; i++){
        result = Math.max(result, prices[i]-min);
        min = Math.min(min, prices[i]);
    }
 
    return result;
}

  LeetCode - Producto de matriz excepto uno mismo (Java)

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *