2022-7-14 剑指offer-股票问题
剑指 Offer 63. 股票的最大利润
难度中等
假设把某股票的价格按照时间先后顺序存储在数组中,请问买卖该股票一次可能获得的最大利润是多少?
1 class Solution { 2 public int maxProfit(int[] prices) { 3 if (prices.length==0) return 0; 4 int min=prices[0],ans=0; 5 for (int i=1;i<prices.length;i++){ 6 min=Math.min(min,prices[i]); 7 ans=Math.max(ans,prices[i]-min); 8 9 } 10 return ans; 11 } 12 }
思路:其实就是前后相差的最大值。可以不用动态规划,维护前面的最小值即可。