(超時。。。。。。)除了暴力法我是真的。。。。。。
class Solution {public int maxProfit(int[] prices) {int len = prices.length;int max=0;for(int i=0;i<len-1;i++){for(int j=i+1;j<len;j++){int income = prices[j] - prices[i];if(income>max){max=income;}}}return max;}
}
通過版
記錄最低價格,計算最大利潤,因為股票賣必須在買之后,所以只遍歷一次數組即可!
class Solution {public int maxProfit(int[] prices) {int minprice = Integer.MAX_VALUE;int maxprofit = 0;for(int i = 0; i < prices.length; i++){if(prices[i] < minprice){minprice = prices[i];}else if(prices[i] - minprice > maxprofit){maxprofit = prices[i] - minprice;}}return maxprofit;}
}