题目描述:
给一个数组表示股票在第 i 天的股票价格,只允许最多一次交易,也就是一次买入和一次卖出,求能够获得的最大收益。
思路:
记录到当前位置的最小数字,并记录当前能够获得的最大利润。
代码:
class Solution {
public:
int maxProfit(vector<int>& prices) {
if (prices.empty()) return 0;
int min_num = prices[0];
int ans = 0;
for (int i=1; i<prices.size(); ++i) {
min_num = min(min_num, prices[i]);
ans = max(ans, prices[i] - min_num);
}
return ans;
}
};
简单题,AC的感觉真的很棒哎。