题目描述
- 假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
- 例如,一只股票在某些时间节点的价格为 {9, 11, 8, 5, 7, 12, 16, 14}
- 如果我们能在价格为 5 的时候买入并在价格为 16 时卖出,则能收获最大的利润为 11
题目解读
- 剑指Offer 304
- LeetCode 121. Best Time to Buy and Sell Stock
代码
class Solution {
public:
int maxProfit(vector<int>& prices) {
if(prices.size() < 2){
return 0;
}
int max = 0;
int min = prices[0];
for(int i=1; i < prices.size(); i++){
max = prices[i]-min > max? prices[i]-min : max;
min = min > prices[i]? prices[i] : min;
}
return max;
}
};