1、
class Solution { public int maxProfit(int[] prices) { int len = prices.length; if(len<=1){ return 0; } int min = prices[0]; int max = 0; for(int i=1;imax){ max = prices[i]-min; } if(prices[i]
2、
class Solution { public int maxProfit(int[] prices) { int maxprofit = 0; for (int i = 1; i < prices.length; i++) { if (prices[i] > prices[i - 1]) maxprofit += prices[i] - prices[i - 1]; } return maxprofit; }}
3、
class Solution { public int maxProfit(int[] prices) { int len = prices.length; int min; int max; int maxProfile = 0; int maxProfile1; int maxProfile2; Listlist1 = new ArrayList<>(); List list2 = new ArrayList<>(); List profile1 = new ArrayList<>(); int i=0; while(i =prices[i+1]) ++i; min = prices[i]; while(i <=prices[i+1]) ++i; max = prices[i]; list1.add(min); list2.add(max); } int size = list1.size(); if(size==0) { }else if(size==1){ return list2.get(0) - list1.get(0); }else{ min = list1.get(0); maxProfile1 = list2.get(0)-min; for(i=0;i 0){ min = Math.min(list1.get(i),min); maxProfile1 = Math.max(list2.get(i)-min,maxProfile1); } profile1.add(maxProfile1); } max = list2.get(size-1); maxProfile2 = max-list1.get(size-1); for(i=size-1;i>0;--i){ if(i