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