题目链接:
https://leetcode.com/problems/best-time-to-buy-and-sell-stock/
题目描述:
用一个数组表示股票每天的价格,数组的第i个数表示股票在第i天的价格。 如果只允许进行一次交易,也就是说只允许买一支股票并卖掉,求最大的收益。
思路:
动态规划。从前往后,记录出现的股票最低的价格,并记录以当天价格出售的收益,比较找出最大收益。
代码:
class Solution {
public:
int maxProfit(vector<int>& prices) {
int len=prices.size();
if(len==0){
return 0;
}
int minPrices=prices[0];
int maxProfit=0;
for(int i=1;i<len;i++){
minPrices=min(minPrices,prices[i]);
maxProfit=max(maxProfit,prices[i]-minPrices);
}
return maxProfit;
}
};