假设你有一个数组,其中第\ i i 个元素是股票在第\ i i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。
class Solution {
public:
/**
*
* @param prices int整型vector
* @return int整型
*/
int maxProfit(vector<int>& prices) {
// write code here
int lowest = prices[0];
int max_profit = 0;
// 确保最低买入,和利润最大
for(int i = 1; i < prices.size(); i++){
// 保持最低
if(prices[i] < lowest){
lowest = prices[i];
}
else{
// 保证最大
max_profit = max(max_profit, prices[i] - lowest);
}
}
return max_profit;
}
};

本文介绍了一种算法,用于计算在只允许一次买入和卖出机会的情况下,从给定的股票价格数组中获得的最大利润。通过维护一个最低买入价格变量和当前最大利润,遍历数组以找到最佳买卖时机,最终返回最大利润。
854

被折叠的 条评论
为什么被折叠?



