题解 | 买卖股票的最好时机(二)
买卖股票的最好时机(二)
https://www.nowcoder.com/practice/9e5e3c2603064829b0a0bbfca10594e9
#include <algorithm>
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 计算最大收益
* @param prices int整型vector 股票每一天的价格
* @return int整型
*/
int maxProfit(vector<int>& prices) {
// write code here
if (prices.size() == 0) {
return 0;
}
int result = 0;
int buyPrice = prices[0];
int maxGap = 0;
for (int i = 1; i < prices.size(); i++) {
int gap = prices[i] - buyPrice;
if (gap < maxGap) {
result += maxGap;
buyPrice = prices[i];
// cout << "maxGapp: " << maxGap << ", buyPrice: " << buyPrice << endl;
maxGap = 0;
} else {
maxGap = gap;
}
}
result += maxGap;
// cout << "maxGpp: " << maxGap << ", result: " << result << endl;
return result;
}
};


