2020--07--17 股票交易的最大利润

best-time-to-buy-and-sell-stock-ii

http://www.nowcoder.com/questionTerminal/572903b1edbd4a33b2716f7649b4ffd4

题目描述
假设你有一个数组,其中第i个元素表示某只股票在第i天的价格。
设计一个算法来寻找最大的利润。你可以完成任意数量的交易(例如,多次购买和出售股票的一股)。但是,你不能同时进行多个交易(即,你必须在再次购买之前卖出之前买的股票)。

只需要判断相邻数组元素是否是递增,是则给profit加上两个元素之差

输入
[1,4,2]
输出
3

实现代码:

public int greed_2(int[] A){
        int profit=0;
        for (int i = 1; i < A.length; i++) {
            if (A[i-1]<A[i]){
                profit+=A[i]-A[i-1];
                //System.out.println("第"+i+"天买入股票"+A[i-1]+"元,第"+i+"天卖出股票"+A[i]+"元,已赚了"+profit);
            }
        }
        return profit;
    }
    public int maxProfit (int[] prices) {
        if (prices.length<=0)return 0;
        else
        return greed_2(prices);
    }
全部评论

相关推荐

点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务