一次遍历
保存最大利润和这个数之前的最小值
class Solution { public int maxProfit(int[] prices) { int dp = 0; int min = Integer.MAX_VALUE; for(int i =0;i<prices.length;i++){ min = Math.min(min,prices[i]); dp = Math.max(dp, prices[i]-min); } return dp; } }
一次遍历
保存最大利润和这个数之前的最小值
class Solution { public int maxProfit(int[] prices) { int dp = 0; int min = Integer.MAX_VALUE; for(int i =0;i<prices.length;i++){ min = Math.min(min,prices[i]); dp = Math.max(dp, prices[i]-min); } return dp; } }