给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。
在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
链接
第一个独立做出来的中等难度题,题目想清楚很简单,只要递增就买进卖出,将所有差加起来。刚开始的时候还想子序列问题,但发现每次看邻居就可以。
分为两种情况,递增情况每次看邻居满足条件,非递增情况也是。
class Solution {
public:
int maxProfit(vector<int>& prices) {
int sum=0;
for(int i=0;i<prices.size()-1;i++)
{
if(prices[i]<prices[i+1])
sum+=prices[i+1]-prices[i];
}
return sum;
}
};