C/C++教程

C++ NC7 买卖股票的最好时机

本文主要是介绍C++ NC7 买卖股票的最好时机,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

NC7 买卖股票的最好时机

方法的时间复杂度O(n),空间复杂度O(1)

    int maxProfit(vector<int>& prices) 
    {
        //当前利润
        int curProfit = 0;
        //当前最大利润
        int result = 0;
        for (int i = 1; i < prices.size(); i++)
        {
            //获得与上一天股票差值
            curProfit += (prices[i] - prices[i - 1]);
            //当前利润比当前最大利润大时,将当前利润设为当前最大利润
            if (curProfit > result)
            {
                result = curProfit;
            }
            if (curProfit < 0)//发现比上一个起点更低的值,更换起点
            {
                curProfit = 0;
            }
        }
        return result;
    }

 

这篇关于C++ NC7 买卖股票的最好时机的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!