给你一个整数数组 prices
,其中 prices[i]
表示某支股票第 i
天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
与上一题不同,上一题是只能买一次股票出售一次股票,本题是可以多次购买多次出售(手上最多只能持有一张股票),本题我们可以采用贪心策略,只考虑当前的局部最优解,只要明天卖出的价格能比今天买的价格高,我们就是赚的(够贪心把!)依次枚举累加起来就可以了。
class Solution {
public:
int maxProfit(vector<int>& prices) {
int max1=0;
for(int i=0;i<prices.size()-1;i++)
{
max1=max1+max(0,prices[i+1]-prices[i]);
}
return max1;
}
};