剑指 Offer 63. 股票的最大利润

package leetcode;

public class offer_63 {
    public int maxProfit(int[] prices) {
        if(prices.length<0||prices==null) {
            return 0;
        }
        int[] dp=new int[prices.length];
        //dp为前n天买入的最低价
        dp[0]=prices[0];
        int profit=0;
        for(int i=1;i<prices.length;i++) {
            if(prices[i]<dp[i-1]) {
                dp[i]=prices[i];
            }
            else {
                dp[i]=dp[i-1];
            }
            //前n天买入,第n天卖出,即为利润
            if(profit<prices[i]-dp[i-1]) {
                profit=prices[i]-dp[i-1];
            }
        }
            
        return profit;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        offer_63 off=new offer_63();
        int[] prices= {7,1,5,3,6,4};
        System.out.println(off.maxProfit(prices));
    }

}

 

posted on 2022-03-09 11:27  一仟零一夜丶  阅读(18)  评论(0)    收藏  举报