java 309.以冷却时间(dp).java买入和卖出股票的最佳时机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 309.以冷却时间(dp).java买入和卖出股票的最佳时机相关的知识,希望对你有一定的参考价值。

public class Solution {
    public int maxProfit(int[] prices) {
        int sell = 0, pre_sell = 0, buy  = Integer.MIN_VALUE, pre_buy;
        for (int price : prices) {
            pre_buy = buy;
            buy = Math.max(pre_sell - price, pre_buy);
            pre_sell = sell;
            sell = Math.max(pre_buy + price, pre_sell);
        }
        return sell;
    }
}
public class Solution {
    public int maxProfit(int[] prices) {
        if(prices.length == 0) return 0;
        int n = prices.length;
        int[] rest = new int[n];
        int[] buy = new int[n];
        int[] sell = new int[n];
        rest[0] = 0;
        buy[0] = -prices[0];
        sell[0] = Integer.MIN_VALUE;
        for(int i = 1; i < n; i++){
            buy[i] = Math.max(buy[i-1], rest[i-1]-prices[i]);
            sell[i] = buy[i-1] + prices[i];
            rest[i] = Math.max(rest[i-1], sell[i-1]);
        }
        return Math.max(rest[n-1], sell[n-1]);
    }
}

以上是关于java 309.以冷却时间(dp).java买入和卖出股票的最佳时机的主要内容,如果未能解决你的问题,请参考以下文章

java 309.以冷却时间(dp).java买入和卖出股票的最佳时机

java 309.以冷却时间(dp).java买入和卖出股票的最佳时机

java 309.以冷却时间(dp).java买入和卖出股票的最佳时机

java 309.以冷却时间(dp).java买入和卖出股票的最佳时机

309. 最佳买卖股票时机含冷冻期 DP

309.最佳买卖股票时机含冷冻期