买卖股票的最佳时机

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

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;

    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容