买卖股票的最佳时机

2020-06-12  本文已影响0人  mirroru

就是差值最大的两个数,找到元素索引小的位置与当前元素差值最大的。
需要维护一个当前元素之前的最小元素值,然后与当前元素做差值比对

prices[i]代表当前元素,那么找到它左侧的最小元素,两者之差就是包含该元素的最大差值。

class Solution {
    public int maxProfit(int[] prices) {
        //卖出的数组索引不能小与买入的索引
        if(prices.length==0){
            return 0;
        }
        int res = 0;
        int min = prices[0];
        for(int i = 1 ;i<prices.length;i++){
            if(prices[i] <= min){
                min = prices[i];
            }else{
                if(res < prices[i] - min){
                    res = prices[i] - min;
                }
            }
        }
        return res;

    }
}
上一篇下一篇

猜你喜欢

热点阅读