leetcode122 Best Time to Buy and Sell Stock

题意:有一个数组,第i个数据代表的是第i天股票的价格,每天只能先卖出再买进(可以不卖出也可以不买进),求最大收益。

思路:自己去弄几个数组比划比划就知道了,比如[1,2,5,3,6],第一天买进,第二天卖出,再买进,第三天卖出,第四天买进,第五天卖出。

真正计算的就是前一天的价格和当天的价格的差值,[1,3,-2,3],大于0买进,否则不买。

代码:

int maxProfit(vector<int>& prices) {
        int n = prices.size();
        int a[n-1];
        for(int i = 0;i<n-1;i++)
            a[i] = prices[i+1]-prices[i];
        int ans = 0;
        for(int j = 0;j<n-1;j++)
        {
            if(a[j]>0)
            ans += a[j];
        }
        return ans;
    }
原文地址:https://www.cnblogs.com/puyangsky/p/4639768.html