文章

9

粉丝

2

获赞

7

访问

45183

头像
股票买卖问题(动态规划)
经验总结
发布于2021年2月22日 18:16
阅读数 473

题目描述

假设你有一个数组,其中第 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);
        }

 



登录后发布评论

暂无评论,来抢沙发