classSolution{publicintmaxProfit(int[] prices){int res =Integer.MIN_VALUE;int buy =Integer.MAX_VALUE;//寻找买入最小的时机for(int i =0; i < prices.length; i++){if(prices[i]< buy){
buy = prices[i];}
res =Math.max(res, prices[i]- buy);}return res;}}classSolution{publicintmaxProfit(int[] prices){int min = prices[0];int sum =0;int ans =Integer.MIN_VALUE;for(int i =0; i < prices.length; i++){//不断寻找买入最小的一天if(prices[i]< min){
min = prices[i];}//统计当天的最大利润
sum = prices[i]- min;//比较哪一天的利润最大,然后将其赋值给ans
ans =Math.max(ans, sum);}return ans;}}
思路原题链接让最小值为prices的最小值然后定义sum和ans不断寻找买入最小的一天找到之后,计算当天卖出的利润sum然后比较哪一天卖出的利润最大,将其赋值给ansclass Solution { public int maxProfit(int[] prices) { int min = prices[0]; int sum = 0; int ans = Integer.MIN_VALUE; for(int i =