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 }

思路:其实就是前后相差的最大值。可以不用动态规划,维护前面的最小值即可。

posted on 2022-07-14 16:10  阿ming  阅读(10)  评论(0编辑  收藏  举报

导航