剑指 Offer 63. 股票的最大利润

2023-11-07

剑指 Offer 63. 股票的最大利润

题目

在这里插入图片描述

题目链接

https://leetcode-cn.com/problems/gu-piao-de-zui-da-li-run-lcof/

解题思路

题解

动态规划

  1. 利润计算:加入第 a 天买入,第 b 天卖出,利润为 prices[b] - price[a],且 b > a
  2. 此时假设,第 a 天的价格是这几天中最低的,且假设第 b 天为这几天中最高价,此时 prices[b] - price[a] 就为最大利润
  3. 此时在 2 的基础上,假如今天是第 c 天,此时最大利润:Math.max(price[c], price[b] - price[a])

代码

class Solution {

    public int maxProfit(int[] prices) {
        // 最大利润
        int maxProfit = 0;
        // 最小价格
        int minPrice = 0;
        for (int i = 0; i < prices.length; i++) {
            // 刚开始不存在所谓的利润,此时第一日就为最小价格
            if (i == 0) {
                minPrice = prices[i];
                continue;
            }
            // 今天加个比最小的还小,替换最小值
            if (prices[i] < minPrice) {
                minPrice = prices[i];
                continue;
            }
            // 最大利润:今天加个 - 最小价格 与 已经计算过的最大差价比较,去更大的那个
            maxProfit = Math.max(maxProfit, prices[i] - minPrice);
        }
        return maxProfit;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

剑指 Offer 63. 股票的最大利润 的相关文章

  • 两台linux文件拷贝

    scp就是secure copy 是用来进行远程文件拷贝的 数据传输使用ssh1 并且和ssh1使用相同的认证方式 提供相同的安全保证 与rcp不同的是 scp会要求你输入密码如果需要的话 最简单的应用如下 scp 本地用户名 IP地址 文

随机推荐

  • angular的ElementRef和Renderer2

    Angular ElementRef 简介 angular angular 2018 09 22 Angular 的口号是 一套框架 多种平台 同时适用手机与桌面 One framework Mobile desktop 即 Angular
  • opencv3.3.0在线读取网络图片图像资源

    说明 上一篇博客中描写了imread 的用法 请参见 http blog csdn net m0 37606112 article details 78524234 这一篇来描述cv2 videoCapture 的用法 照例打开opencv
  • vue插槽的基本使用

    1 什么是插槽 插槽 Slot 是 vue 为组件的封装者提供的能力 允许开发者在封装组件时 把不确定的 希望由用户指定的部分定义为插槽 2 体验插槽的基础用法 在封装组件时 可以通过元素定义插槽 从而为用户预留内容占位符 示例代码如下 如
  • 深度学习 - 模型的优化和过拟合问题

    优化函数 学习速率与反向传播算法 学习速率 learning rate 梯度就是表明损失函数相对参数的变化率 对梯度进行缩放的参数被称为学习速率 learning rate 学习速率是一种超参数或对模型的一种手工可配置的设置 需要为它指定正
  • 《Graph Neural Networks Foundations,Frontiers and Applications》第一部分第二章第2.3.1.1节翻译和解读

    书名 Graph Neural Networks Foundations Frontiers and Applications 图神经网络的基础 前沿和应用 出版社 Springer Berlin Heidelberg 作者 Lingfei
  • Python 函数的定义

    视频版教程 Python3零基础7天入门实战视频教程 函数 函数是执行特定任务的一段代码 程序通过将一段代码定义成函数 并为该函数指定一个函数名 这样即可在需要的时候多次调用这段代码 比如我们前面学到的range 函数 就是系统内置的函数
  • Appium自动化框架从0到1之 基类的封装

    这里只封装了4个基类 其他的大家可以自己丰富 直接上代码 baseView py coding utf 8 auth carl DJ time 2020 7 9 class BaseView object 封装一些基类 def init s
  • wazuh安装,单机部署3.13

    Wazuh涉及两个主要组件的安装 Wazuh服务器和Elastic Stack 此外 Wazuh agent需要部署到受监视的主机上 Wazuh server 运行Wazuh管理器和API 它从已部署的代理收集和分析数据 Elastic S
  • Java多线程基础

    原文链接 https blog csdn net weixin 43704599 article details 107379994 1 线程简介 1 1 多任务 现实中太多这样同时做多件事情的例子了 看起来是多个任务都在做 其实本质上我们
  • 一个SQLiteReadOnlyDatabaseException的问题

    最近测试同事上报了随机的一个crash问题 看日志是SQLiteReadOnlyDatabaseException的问题 发生在update数据库的时候 我自己写的ContentProvider代码就是在程序目录下放置数据 所以不是网上常见
  • ROS1与ROS2的安装教程

    目录 一 准备工作 1 ros1对应ubuntu版本 2 ros2对应ubuntu版本 3 Ubuntu的安装 二 ROS1的安装 1 官方安装ROS的说明 http wiki ros org Installation Ubuntu dis
  • 基于MySQL的关系型数据库完成情况_SQLite vs MySQL vs PostgreSQL:关系型数据库比较...

    自1970年埃德加 科德提出关系模型之后 关系型数据库便开始出现 经过了40多年的演化 如今的关系型数据库种类繁多 功能强大 使用广泛 面对如此之多的关系型数据库 我们应该如何权衡找出适合自己应用场景的数据库系统呢 O S Tezer最近在
  • 3D数据转换一站式解决方案CAD Exchanger软件介绍

    3D数据转换一站式解决方案CAD Exchanger软件介绍 CAD Exchanger GUI是易于使用的3D查看器和转换器 用于读取和转换所有关键3D格式 IGES STEP JT ACIS Parasolid IFC FBX Soli
  • 网络安全的防护措施 45.113.202.1

    病毒和木马 安装杀毒软件定期扫毒 不接收陌生文件 下载软件尽量在正规网站下载 来路不明的U盘不要使用 DDOS攻击 设置硬件防火墙 监控 限制和预防 入侵 加强口令识别 定期更新软件 避免漏洞被利用 45 113 202 1 45 113
  • 动态爱心(html版)

  • iPhone清理喇叭灰尘_微信可以给手机喇叭超声波清理灰尘了 苹果安卓机都适用 超简单!...

    之前针对果粉用户分享过一个 喇叭灰尘清理 快捷指令 受到不少小伙伴的欢迎 这个快捷指令主要是利用声波震动原理实现 在一定程度上起到清理手机喇叭灰尘的作用 现在有开发者 将这个喇叭清理清理音频放在了小程序上 在微信上就可以给手机扬声器清理灰尘
  • 判断一个数的二进制表示中是否有连续的1

    判断一个数的二进制表示中是否有连续的1 例如 101 里就没有 而 110 里就有 def my function n return n n lt lt 1 gt 0 if name main print my function 5 参数n
  • springboot如何集成mybatis中的分页插件pagehelper

    为什么要引入pagehelper 这里代码简写 原始写法计算起始页 page 1 pageSize pageSize 结束页 pageSize select 字段名称 from 表名 limit 起始页 结束页 有个这个以后就不用这么写了直
  • Flutter使用SQLite

    1 添加依赖 在pubspec yaml添加sqflite插件 dependencies flutter sdk flutter sqflite 1 3 1 然后在项目根目录下执行如下命令 flutter pub get 2 使用SQLit
  • 剑指 Offer 63. 股票的最大利润

    剑指 Offer 63 股票的最大利润 题目 题目链接 解题思路 题解 代码 题目 题目链接 https leetcode cn com problems gu piao de zui da li run lcof 解题思路 题解 动态规划