package Level2;
/**
* Best Time to Buy and Sell Stock
*
* Say you have an array for which the ith
* element is the price of a given stock on day i.
*
* If you were only permitted to complete at most one transaction (ie, buy one
* and sell one share of the stock), design an algorithm to find the maximum
* profit.
*/
public class S121 {
public static void main(String[] args) {
}
public int maxProfit(int[] prices) {
// 当没有任何prices信息的情况
if(prices.length == 0){
return 0;
}
int min = prices[0]; // 记录最小买入价的index
int maxProfit = 0; // 记录最大profit
for(int i=1; i<prices.length; i++){
// 更新最小买入价
if(prices[i] < min){
min = prices[i];
}
// 计算当前利润
int currentProfit = prices[i] - min;
// 如果当前利润超过最大利润,更新最大利润
if(currentProfit > maxProfit){
maxProfit = currentProfit;
}
}
return maxProfit;
}
}
Best Time to Buy and Sell Stock @LeetCode
最新推荐文章于 2025-04-18 22:24:21 发布
本文介绍了一种算法,用于计算给定股票价格序列中能够获得的最大利润,该算法假设只能进行一次买入和卖出操作。通过迭代价格数组并跟踪最低购买价格及最大利润来实现。
676

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



