class Solution {
public:
int maxProfit(vector<int> &prices) {
if(prices.size()<=1)
return 0;
int left[prices.size()];
int minp=prices[0];
left[0]=0;
for(int i=1;i<prices.size();i++)
{
minp=min(minp,prices[i]);
left[i]=max(left[i-1],prices[i]-minp);
}
int maxp=prices[prices.size()-1];
int maxprofit=0;
for(int i=prices.size()-2;i>=0;i--)
{
maxp=max(maxp,prices[i]);
maxprofit=max(maxprofit,left[i]+maxp-prices[i]);
}
return maxprofit;
}
};
Best Time to Buy and Sell Stock III
最新推荐文章于 2022-04-26 10:52:27 发布