解题思路:
连续上涨交易日: 则第一天买最后一天卖收益最大,等价于每天都买卖
连续下降交易日: 则不买卖收益最大,即不会亏钱。
故可以遍历整个股票交易日价格列表,在所有上涨交易日都买卖(赚到所有利润),所有下降交易日都不买卖(永不亏 钱)。
class Solution {
public:
int maxProfit(vector<int>& prices)
{
int size = prices.size();
if(size == 1)
return 0;
int sum = 0 ;
for(int i = 0 ; i < size-1 ; ++i)
{
if(prices[i] < prices[i+1]) //只要第二天上涨就买
sum += prices[i+1] - prices[i];
}
return sum;
}
};