题目大意:给出一个数组,数组中第i个元素表示第i天股票的价格,最多只允许交易一次求出最大利润。
算法思想:
找出数组中最低的股票价格作为买入价格和最高的股票价格最为抛售价格,保证买入价格的时间在抛售价格的时间之后。
代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size()<2) return 0;
int profit=0;
int save=prices[0];
for(int i=1;i<prices.size();++i){
profit=max(profit,(prices[i]-save));
save=min(save,prices[i]);
}
return profit;
}
};