代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV
变成了最多可以买卖k只股票
class Solution {
public:int maxProfit(int k, vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int>(2*k+1,0));for(int i=1;i<2*k+1;i+=2){dp[0][i]=-prices[0];}//初始化,第k次买卖股票且持有股票的收益for(int i=1;i<prices.size();i++){//第i天第k笔持有的股票可以是第i-1天第k笔持有的股票得来的for(int j=1;j<2*k;j+=2){dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]-prices[i]);//第i天第j笔持有的股票的状态下最大利润,j表示还有股票dp[i][j+1]=max(dp[i-1][j+1],dp[i-1][j]+prices[i]);//第i天第j笔持有股票卖掉后(j+1是每股派的时候)}}int m=dp[prices.size()-1][2];for(int i=4;i<2*k+1;i+=2){m=max(m,dp[prices.size()-1][i]);}return m;}
};
309.最佳买卖股票时机含冷冻期
题目
本题总共对应三 4种状态:
1.持有股票.2持股交易当天3.冷冻期。4.卖出股票后,买下一只股票前
在之前的题中,234被放到了一起,但本题有冷冻期所以要分开
class Solution {
public:int maxProfit(vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int> (4,0));dp[0][0]=-prices[0];for(int i=1;i<prices.size();i++){dp[i][0]=max(max(dp[i-1][0],dp[i-1][2]-prices[i]),dp[i-1][3]-prices[i]);// 第i天持股,可以前一天是持股的,也可以前一天冷冻期,也可以前一天是冷冻期后但还没买入。dp[i][1]=prices[i]+dp[i-1][0];//卖出股票当天,前一天必须持股dp[i][2]=dp[i-1][1];//冷冻期,和前一天卖出去的一样dp[i][3]=max(dp[i-1][3],dp[i-1][2]);//冷冻期结束后的一天或i-1天已经是结束冷冻期了}return max(max(dp[prices.size()-1][1],dp[prices.size()-1][2]),dp[prices.size()-1][3]);}
};
714.买卖股票的最佳时机含手续费
dp[i][0]=max(dp[i-1][0],dp[i-1][1]+prices[i]-fee);dp[i][1]=max(dp[i-1][1],dp[i-1][0]-prices[i]);
只用考虑减去手续费即可。
相关文章:

代码随想录训练营day42|188.买卖股票的最佳时机IV,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
188.买卖股票的最佳时机IV 变成了最多可以买卖k只股票 class Solution { public:int maxProfit(int k, vector<int>& prices) {vector<vector<int>> dp(prices.size(),vector<int>(2*k1,0));for(int i1;i<2*k1;i2){dp[0][i]-prices[0];}//初始…...
解决Pynput不能在Ubuntu22.04上正常使用问题
pynput 是一个 Python 库,它提供了一套简单的接口来控制和监控输入设备,包括鼠标和键盘。这个库允许开发者编写跨平台的代码来处理输入事件,无需担心底层操作系统的差异。 下面是pynput的测试程序: from pynput.keyboard import …...
IPV4端口数据有哪些?
关于IPv4的端口数据包括端口号,协议类型,端口状态,扫描时间以及开放时间,这些是常见的实时IPv4端口扫描和分析数据。 IPv4端口号 Ipv4端口号是一个16位的无符号整数,范围从0到65535,这些端口号用于区分运…...

【爱加密_云平台-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...

Open CASCADE学习|按圆离散旋转体
旋转体是一个非常重要的概念,它涉及到三维空间中由二维曲线绕某一轴线旋转形成的立体形状。这种旋转体的形成过程,实际上是一个连续变化的动态过程,但在数学和几何学中,我们往往通过静态的方式来描述和研究它。 旋转体的基本特性…...

无人矿车使用ZMQ消息代理进行跨机互联进行消息收发
目录 背景 前景知识 1.启动一个代理服务器 2.发布者 3.订阅者 实际应用 1.模拟智驾收来自交互箱131的按钮json数据 2.模拟交互箱131收来自智驾137的cjson数据 背景 在调试防爆无轨无人矿车时,出现消息代理不能很好转发,于是在公司通过代理的方式…...

医疗机构关于DIP/DRG信息化建设
推进DIP/DRG支付方式改革是一项系统性工程,牵一发而动全身。作为河北省DIP试点医院,河北医科大学第二医院将信息化与创新性管理理念融合,用好支付工具做好精细化管理,积极应对改革。 ■ 改革背景 国家医疗保障局制定的《DRG/DIP支…...

100个候选人,没一个能讲明白什么是自动化框架?
什么是自动化测试框架 01 什么是框架 框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。它规定了应用的体系结构,阐明了整个设计、协作构件之间的依赖关系、责任分配和控制流程,表现为一组抽象类以及其实例之间…...

数据结构与算法1: 链表
题目名称: 重排链表 链接: . - 力扣(LeetCode) 介绍:本题的目标是将链表进行重新组合,如下图。 如果按照标准的解法,我们需要实现三步 1. 链表中点的获取 2. 链表的反转 3. 链…...

【专题】2024年8月医药行业报告合集汇总PDF分享(附原数据表)
原文链接:https://tecdat.cn/?p37621 在科技飞速发展的当今时代,医药行业作为关乎人类生命健康的重要领域,正处于前所未有的变革浪潮之中。数智医疗服务的崛起,为医疗模式带来了全新的转变,开启了医疗服务的新时代。…...
这10种人不适合干项目经理,你在其中吗?
在一个项目中,项目经理扮演着至关重要的角色,他们需要协调各种资源、管理团队、制定计划以及应对各种挑战。然而,并非每个人都适合担任项目经理的角色。以下他们天生不适合当项目经理,你会在其中找到自己的类型吗? 1、…...
IT每日英语(三)
系列文章目录 IT每日英语(二) 文章目录 系列文章目录前言1.collie2.century3.farewell4.meme5.hall6.needle7.simulate8.emulate9.arbitray10.laboratory11.jest12.suite13.approach14.satellite15.instance16.representation 前言 这里给出的是本人在…...

【保姆级教程】如何创建一个vitepress项目?
文章目录 安装前的准备工作项目安装创建文件初始化文件安装依赖遇到了 missing peer deps 警告?命令行设置向导 完成 安装前的准备工作 Node.js 18 及以上版本。通过命令行界面 (CLI) 访问 VitePress 的终端。支持 Markdown 语法的编辑器。推荐 VSCode 及其官方 Vu…...

智能头盔语音识别声控芯片,AI离线语音识别ic方案,NRK3301
头盔是交通事故中保护电动车车主安全的最后一道屏障。为了增加骑行用户的安全保护,改善骑行用户的出行体验,让用户从被动使用头盔到主动佩戴头盔,头盔厂家与九芯电子合作,推出了语音智能头盔,它具备首家骑行专用的智能…...

【STM32】CAN总线基础入门
CAN总线基础入门 一、CAN简介二、主流通信协议对比三、CAN物理层1、CAN硬件电路2、CAN电平标准3、CAN收发器 – TJA1050(高速CAN)4、CAN物理层特性 四、帧格式1、CAN总线帧格式2、数据帧3、数据帧各部分用途简介4、数据帧的发展历…...

STM32F1+HAL库+FreeTOTS学习10——任务相关API函数使用
STM32F1HAL库FreeTOTS学习10——任务相关API函数使用 任务相关API函数1. uxTaskPriorityGet()2. vTaskPrioritySet()3. uxTaskGetNumberOfTasks()4. uxTaskGetSystemState()5. vTaskGetInfo()6. xTaskGetCurrentHandle()7. xTaskGetHandle()8. xTaskGetIdleTaskHandle()9. uxTa…...

华为 HCIP-Datacom H12-821 题库 (14)
有需要题库的可以加下方Q群 V群进行学习交流 1.以下哪一种工具可用于多种路由协议,并且是由 if-match 和appl y 子句组成的? A、community-filter B、as-path-filter C、route-policy D、ip-prefix 答案:C 解析: 暂无解析…...
java八股!2
IO流 好短 就三个问题(io流,区别,NIO实现) 文章目录 IO流io流基本认识字节流和字符流的区别(中文,底层设备,缓冲区,应用场景)I/O模型(4种(可以看做3种&…...

一分钟了解统一软件开发过程RUP的那点事
曾经几乎一统天下的统一软件开发过程RUP(Rational Unified Process)即使是现在看来,它也是一套非常先进并完整的理论体系加工具集合。虽然目前来看,敏捷开发方法似乎更优秀,但是到今天为止,几乎大部分的政府…...

Goby 漏洞发布|(CVE-2024-45195)Apache OFBiz /viewdatafile 代码执行漏洞【已复现】
漏洞名称:Apache OFBiz /viewdatafile 代码执行漏洞(CVE-2024-45195) English Name:Apache OFBiz /viewdatafile Code Execution Vulnerability(CVE-2024-45195) CVSS core: 8.0 漏洞描述: Apache OFBiz是一个开源…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...

地震勘探——干扰波识别、井中地震时距曲线特点
目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波:可以用来解决所提出的地质任务的波;干扰波:所有妨碍辨认、追踪有效波的其他波。 地震勘探中,有效波和干扰波是相对的。例如,在反射波…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...

Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...

OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...