注:此博客不再更新,所有最新文章将发表在个人独立博客limengting.site。分享技术,记录生活,欢迎大家关注
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.
Example 1:
Input: [7, 1, 5, 3, 6, 4]
Output: 5
max. difference = 6-1 = 5 (not 7-1 = 6, as selling price needs to be larger than buying price)
Example 2:
Input: [7, 6, 4, 3, 1]
Output: 0
In this case, no transaction is done, i.e. max profit = 0.
class Solution {
public int maxProfit(int[] prices) {
int cur = 0, res = 0;
for (int i = 1; i < prices.length; i ++) {
cur += prices[i] - prices[i - 1];
cur = Math.max(cur, 0);
res = Math.max(cur, res);
}
return res;
}
}
股票买卖最大利润算法

本文介绍了一种算法,用于计算给定股票价格序列中能够获得的最大利润,假设只能进行一次买入和一次卖出操作。通过遍历价格数组并计算当前价格与前一交易日价格之间的差值来更新最大利润。
2014

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



