买股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。
注意你不能在买入股票前卖出股票。
运算代码如下:
class Solution {
public:
int maxProfit(vector<int>& prices) {
if (prices.empty()) return 0;
int Min = prices[0];
int max = 0;
for (int i = 1; i < prices.size(); i++)
{if (prices[i] < Min) Min = prices[i];
if (prices[i] - Min > max)
max = prices[i] - Min;
}
return max;
}
};
这题和最大子序和很像,只不过这题是每次遇到更小值则更新最小值。