文章
27
粉丝
492
获赞
10
访问
269.8k
假设你有一个数组,其中第 i 个元素是股票在第 i 天的价格。
你有一次买入和卖出的机会。(只有买入了股票以后才能卖出)。请你设计一个算法来计算可以获得的最大收益。
输入 [1,4,2,2]
输出 3
思路:
当天的最大利润=当天的卖价-前些天的最低买入价
第i天的最大收益=max{第i-1天的最大收益,第i天的最大利润}
int minVal = prices[0], profit = 0;
for (int i = 1; i < prices.length(); ++i) {
minVal = Math.min(prices[i],minVal);
profit = Math.max(profit, prices[i] - minVal);
}
登录后发布评论
暂无评论,来抢沙发