假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
dp[i] = max(dp[i - 1], prices[i] - min(prices[0:i]))
int maxProfit(vector<int>& prices) {
if(prices.size() < 2)
return 0;
vector<int> dp(prices.size(), 0);
dp[0] = 0;
int minPrices = prices[0];
for(int i = 1; i < prices.size(); i++) {
minPrices = min(minPrices, prices[i]);
dp[i] = max(dp[i - 1], prices[i] - minPrices);
}
return dp[prices.size() - 1];
}