Blage's Coding Blage's Coding
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
Home
算法
  • 手写Spring
  • SSM
  • SpringBoot
  • JavaWeb
  • JAVA基础
  • 容器
  • Netty

    • IO模型
    • Netty初级
    • Netty原理
  • JVM
  • JUC
  • Redis基础
  • 源码分析
  • 实战应用
  • 单机缓存
  • MySQL

    • 基础部分
    • 实战与处理方案
    • 面试
  • ORM框架

    • Mybatis
    • Mybatis_Plus
  • SpringCloudAlibaba
  • MQ消息队列
  • Nginx
  • Elasticsearch
  • Gateway
  • Xxl-job
  • Feign
  • Eureka
  • 面试
  • 工具
  • 项目
  • 关于
🌏本站
🧸GitHub (opens new window)
  • 数组

    • 搜索

    • 二分查找

    • 排序

    • 边界判断

    • 双指针法

      • 15.三数之和
      • 209.长度最小的子数组
      • 88.合并两个有序数组
      • 122.买卖股票的最佳时机Ⅱ
        • 1.贪心
        • 2.动态规划
      • 283.移动零
      • 26. 删除有序数组中的重复项
      • 75. 颜色分类
      • 11. 盛最多水的容器
      • 1156. 单字符重复子串的最大长度
      • 121.买卖股票的时机
      • 19. 删除链表的倒数第 N 个结点
      • 剑指offer21
      • 剑指 Offer 57. 和为s的两个数字
    • 连续子数组

    • 差分数组

    • 模拟

    • 区间问题

  • 链表

  • 字符串

  • 二叉树

  • 动态规划

  • 深搜回溯

  • 数学贪心

  • 堆栈队列

  • 前缀和

  • 算法设计

  • 位运算

  • WA

  • 算法
  • 数组
  • 双指针法
phan
2023-05-16
目录

122.买卖股票的最佳时机Ⅱ

# 122.买卖股票的最佳时机Ⅱ

给定一个数组 prices ,其中 prices[i] 表示股票第 i 天的价格。在每一天,你可能会决定购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以购买它,然后在 同一天 出售。返回 你能获得的 最大 利润 。

输入: prices = [7,1,5,3,6,4] 输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。

# 1.贪心

因为不限制股票购买次数,只要统计所有的上坡,最终得到的一定是利润最大的情况。对于num[ i ]而言,判断num[ i ]-num[ i-1 ]是否大于零,如果大于零则说明当前第i个元素位置是一个波峰的结尾。

注意:这里并不需要统计最低波峰波谷,只需要统计累加每一小段的上坡。

# 2.动态规划

通法:枚举股票每一种状态机,也就说对于每一个股票而言分为如下几种状态:

  • 未持有股票
    • 购买当前股票
    • 空过
  • 已经持有股票(在前面购入)
    • 以当前股票价格卖出
    • 空过
编辑 (opens new window)
#Leetcode#双指针法
上次更新: 2023/12/15, 15:49:57
88.合并两个有序数组
283.移动零

← 88.合并两个有序数组 283.移动零→

Theme by Vdoing | Copyright © 2023-2024 blageCoder
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式