121. Best Time to Buy and Sell Stock(买卖股票的最佳时机)

 题目链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/submissions/

方法一:暴力 O(n2)

AC 118ms 8% Java:

class Solution {
    public int maxProfit(int[] prices) {
        int min=Integer.MAX_VALUE;
        int max=0;
        for(int i=0;i<prices.length;i++){
            if(prices[i]<min)
                min=prices[i];
            if(prices[i]-min>max)
                max=prices[i]-min;
        }
        return max;
    }
}

 方法二:O(n)

这种方法只需保存最小值,然后求解max即可。

121. Best Time to Buy and Sell Stock(买卖股票的最佳时机)

AC 0ms 100% Java:

class Solution {
    public int maxProfit(int[] prices) {
        int max=0;
        for(int i=prices.length-1;i>=0;i--){
          for(int j=i;j>=0;j--){
              max=Math.max(prices[i]-prices[j],max);
          }
        }  
        return max;
    }
}