LeetCode 309买卖股票的最佳时机含冷冻期 714买卖股票的最佳时机含手续费 | 代码随想录25期训练营day51

news2024/9/29 5:26:33

动态规划算法9

LeetCode 309 买卖股票的最佳时机含冷冻期 2023.12.14

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int maxProfit(vector<int>& prices) {
    //1确定dp二维数组
    //dp[i][0]表示遍历到第i天时持有股票的当前收入;dp[i][1]表示遍历到第i天时未持有股票的当前收入
    //dp[i][2]表示遍历到第i天卖出股票的当前收入;dp[i][3]表示遍历到第i天时处于冷冻期的当前收入
    vector<vector<int>> dp(prices.size(), vector<int>(4, 0));
    //3初始化,第一天持有股票的收入为-prices[0],其他值为0
    dp[0][0] = -prices[0];
    //2确定递推公式,4确定遍历顺序
    for (int i = 1; i < prices.size(); i++)
    {
        //dp[i][0]表示遍历到第i天时持有股票的当前收入;
        //可能值:上一天持有股票,处于不持有股票期或冷冻期购买股票
        dp[i][0] = max(max(dp[i-1][0], dp[i-1][1]-prices[i]), dp[i-1][3]-prices[i]);
        //dp[i][1]表示遍历到第i天时未持有股票的当前收入;
        //可能值:上一天未持有股票,处于不持有股票期的冷冻期
        dp[i][1] = max(dp[i-1][1], dp[i-1][3]);
        //dp[i][2]表示遍历到第i天时卖出股票的当前收入;
        dp[i][2] = dp[i-1][0] + prices[i];
        //dp[i][3]表示第i天时处于冷冻期的当前收入,值为上一天卖出股票后的收入
        dp[i][3] = dp[i-1][2];
    }
    //输出答案为最后一天未持有股票或卖出股票或冷冻期的收入,取最大值
    return max(max(dp[prices.size()-1][1], dp[prices.size()-1][2]),dp[prices.size()-1][3]);
}

LeetCode 714 买卖股票的最佳时机含手续费 2023.12.14

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int maxProfit(vector<int>& prices, int fee) {
    //1确定dp二维数组
    //dp[i][0]表示遍历到第i天时持有股票的当前收入;dp[i][1]表示遍历到第i天时未持有股票的当前收入
    vector<vector<int>> dp(prices.size(), vector<int>(2, 0));
    //3初始化,第一天持有股票的收入为-prices[0],其他值为0
    dp[0][0] = -prices[0];
    //2确定递推公式,4确定遍历顺序
    for (int i = 1; i < prices.size(); i++)
    {
        //第i天持有股票的收入=max(股票不卖(上一天持有股票的收入),昨天没持有买完今天的股票的收入)
        dp[i][0] = max(dp[i-1][0], dp[i-1][1]-prices[i]);
        //第i天未持有股票的收入=max(上一天未持有股票的收入,今天卖股票(包含手续费)的收入)
        dp[i][1] = max(dp[i-1][1], dp[i-1][0]-fee+prices[i]);
    }

    return dp[prices.size()-1][1];
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1309564.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

项目管理:如何把项目管理落实到执行细节

一切皆项目&#xff0c;我们的人生也是一个大的项目&#xff0c;在这个大的项目中&#xff0c;拥有多个小的项目&#xff0c;多个阶段&#xff0c;各种活动&#xff0c;小的项目构建成不同大的项目。 对于个人这个项目&#xff0c;我们可以一步步去完成&#xff0c;从项目管理…

SQL进阶理论篇(二):数据库的设计范式

文章目录 简介数据库的设计范式有哪些数据库中的几种键从1NF到3NF1NF2NF3NFBCNF&#xff08;巴斯范式&#xff09; 反范式设计反范式的适用场景总结参考文献 简介 本小节主要内容&#xff1a; 数据库的设计范式都有哪些数据库的键都有哪些1NF、2NF和3NF都是指什么&#xff1f…

初识大数据应用,一文掌握大数据知识文集(1)

文章目录 &#x1f3c6;初识大数据应用知识&#x1f50e;一、初识大数据应用知识(1)&#x1f341; 01、请用Java实现非递归二分查询&#xff1f;&#x1f341; 02、是客户端还是Namenode决定输入的分片&#xff1f;&#x1f341; 03、mapred.job.tracker命令的作用&#xff1f;…

00TD I 秒变甜美小淑女,冬日氛围感拉满

一衣两穿的的气质款羽绒服 穿着轻松营造氛围感 90白鸭绒填充 厚实蓬松保暖性十足&#xff0c;大大的翻领显得脸小 又增添精致感&#xff0c;腰间系带系起来就像 穿了件可爱精致的小裙子般 解开也是另一种简约气质的感觉 小淑女们衣橱必入款。

水闸水雨情监测设施建设项目

功能设计 在水闸上、下游挡墙外侧各安装1套雷达水位计&#xff0c;水闸屋顶布置个雨量计&#xff0c;水位及雨量监测数据的采集与传输主要是实时的完成水位、雨量数据的采集与处理&#xff0c;并按照设定的工作方式、时间间隔、增量范围将数据上传至扬压力监测站边缘计算终端&…

【数据结构和算法】压缩字符串

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、题目描述 二、题解 2.1 方法一&#xff1a;双指针 三、代码 3.1 方法一&#xff1a;双指针 四、复杂度分析 前言 这是力扣…

如何搭建适合自己的数字人源码系统?

随着数字人技术的快速发展&#xff0c;数字人直播软件成为了直播行业的热门话题。数字人源码部署成为了创业者在这个领域看中的新商机&#xff0c;数字人直播软件给市场带来很多机会的同时也给商家带来了更多的收益。但是&#xff0c;选择一个适合自己的数字人直播软件源码并不…

模型数据-HttpServletRequest使用

模型数据-HttpServletRequest使用 三种情况 自己也要添加一些属性到Request域中,可以通过原生Servlet API的request来设置.也可以修改按照默认机制已经放进去 的某些对象.明白默认情况下存放的名字其实就是类名/类型名 首字母小写.(虽然monster100改了,但还是按类名首字母小写…

大模型时代-从0开始搭建大模型

开发一个简单模型的步骤&#xff1b; 搭建一个大模型的过程可以分为以下几个步骤&#xff1a; 数据收集和处理模型设计模型训练模型评估模型优化 下面是一个简单的例子&#xff0c;展示如何使用Python和TensorFlow搭建一个简单的大模型。 数据收集和处理 首先&#xff0c;我…

node-static 任意文件读取漏洞复现(CVE-2023-26111)

0x01 产品简介 node-static 是 Node.js 兼容 RFC 2616的 HTTP 静态文件服务器处理模块&#xff0c;提供内置的缓存支持。 0x02 漏洞概述 node-static 存在任意文件读取漏洞&#xff0c;攻击者可通过该漏洞读取系统重要文件&#xff08;如数据库配置文件、系统配置文件&#…

Java使用Microsoft Entra微软 SSO 认证接入

1. Microsoft Entra Microsoft Entra ID 是基于云的标识和访问管理服务&#xff0c;可帮助员工访问外部资源。 示例资源包括 Microsoft 365、Azure 门户以及成千上万的其他 SaaS 应用程序。 Microsoft Entra ID 还可帮助他们访问你的企业 Intranet 上的应用等内部资源&#x…

行业报告 | 中国工业机器人的“春天”

原创 | 文 BFT机器人 前言&#xff1a; 工业机器人是先进制造业中不可替代的重要装备&#xff0c;是衡量国家制造业水平和科技水平的重要标志。中国作为世界公认的制造业第一大国&#xff0c;随着人口红利的逐渐消退&#xff0c;劳动力成本不断提高&#xff0c;生产自动化和发…

纺织辅料企业网站搭建的效果如何

纺织品是日常生活必需品&#xff0c;服装、鞋帽箱包等品牌企业很多&#xff0c;纺织辅料的需求度也很高&#xff0c;对企业商家来说&#xff0c;市场高需求度的同时也面临着一些痛点&#xff1a; 1、品牌宣传、产品展示难 纺织辅料产品属于国内外都可以拓展&#xff0c;并没有…

Node.js创建一个简单的WebSocket接口,实现通信交互

Node.js创建一个简单的WebSocket接口&#xff0c;实现通信交互 一、为什么使用WebSocket&#xff1f; WebSocket&#xff0c;最大特点就是&#xff0c;服务器可以主动向客户端推送信息&#xff0c;客户端也可以主动向服务器发送信息&#xff0c;是真正的双向平等对话&#xf…

Paper Reading: (U2PL) 基于不可靠伪标签的半监督语义分割

目录 简介目标/动机方法Pseudo-LabelingUsing Unreliable Pseudo-Labels 补充知识InfoNCE LossOHEM 实验Comparison with Existing AlternativesAblationEffectiveness of Using Unreliable Pseudo-LabelsAlternative of Contrastive Learning 总结附录U2PL 与 negative learni…

Unity之OpenXR+XR Interaction Toolkit接入Meta Quest3

前言 随着备受期待的Meta Quest 3与今年10月10日发布,这款来自Meta的下一代VR游戏头戴设备承诺将彻底改变您的游戏方式。 Meta Quest 3,玩家只需轻松一触即可在虚拟现实和真实世界之间无缝切换,无需摘下头戴设备进行快速现实检查。 Meta Quest 3最引人注目的特点之一是其能…

大数据讲课笔记1.2 Linux用户操作

文章目录 零、学习目标一、导入新课二、新课讲解&#xff08;一&#xff09;用户账号管理1、用户与用户组文件2、用户账号管理工作 &#xff08;二&#xff09;用户操作1、切换用户&#xff08;1&#xff09;语法格式&#xff08;2&#xff09;切换到普通用户&#xff08;3&…

Axure元件库的使用

1.基本元件库 1.1Axure的画布范围 Axure是一个绘制项目原型图的软件&#xff0c;它里面的基本原件有&#xff1a; 1.1元件的呈现范围 首先我们要了解基本元件的作用范围在哪里&#xff1f; 浏览效果&#xff1a; 可以看出当我们的基本元件放在画布区域内是可以完全呈现出来…

智能安全用电监控管理系统

智能用电安全监控管理系统是一种基于物联网技术和大数据分析的智能化管理系统&#xff0c;用于监控和管理电力设备的安全运行。该系统依托电力智慧运维工具-电易云&#xff0c;可以实时监测电力设备的运行状态、电力负荷、用电行为等信息&#xff0c;通过智能算法识别设备的异常…

图像截屏公式识别——LaTeX-OCR安装与使用

一、简介 LaTeX-OCR 是一个开源的光学字符识别&#xff08;OCR&#xff09;软件&#xff0c;专为 LaTeX 文档提供支持。其主要目的是帮助用户将扫描的文档转换为 LaTeX 编辑器可以使用的可编辑文本&#xff0c;从而方便进行修改、编辑和排版。LaTeX广泛用于科技、数学、工程等…