0
点赞
收藏
分享

微信扫一扫

【力扣-动态规划入门】【第 7 天】121. 买卖股票的最(佳)时机

标题:121. 买卖股票的最佳时机
难度:简单
天数:第7天,第2/3题

示例 1:

示例 2:

提示:

  • 1 <= prices.length <= 105
  • 0 <= prices[i] <= 104
class Solution {
    //动态规划 第 7 天  2/3
    public int maxProfit(int[] prices) {
        int size =  prices.length;
        if(size == 1){
            return 0;
        }
        //记录低价格
        int min = prices[0];
        //记录最高价格
        int max = 0;
        //记录最大收益
        int dp = 0;
        for(int i = 1; i < size ; i++){
            int item = prices[i];
            if(item < min){
                //如果比记录最小值小  赋值
                min = item;
                //并且将最大值也赋值  因为只能在最小值之后的某天才能卖出
                max = item;
            }else if(item > max){
                //如果比记录最大值大  赋值
                max = item;
            }
            //计算当前最大收益
            dp = Math.max(dp,max-min);
        }
        return dp;
    }
}

举报

相关推荐

0 条评论