代码随想录算法训练营第五十三天|309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
309. 买卖股票的最佳时机含冷冻期
int maxProfit(int* prices, int pricesSize){int len = pricesSize;int dp[len][4];dp[0][0] = -prices[0];dp[0][1] = 0;dp[0][2] = 0;dp[0][3] = 0;for (int i = 1; i < pricesSize; i++){dp[i][0] = fmax(dp[i-1][0], fmax(dp[i-1][1] - prices[i], dp[i-1][3] - prices[i]));dp[i][1] = fmax(dp[i-1][1], dp[i-1][2]);dp[i][2] = dp[i-1][0] + prices[i];dp[i][3] = dp[i-1][2];}return fmax(dp[len - 1][3], fmax(dp[len - 1][1], dp[len - 1][2]));
}
714. 买卖股票的最佳时机含手续费
相对122.买卖股票的最佳时机II ,本题只需要在计算卖出操作的时候减去手续费就可以了,代码几乎是一样的
int maxProfit(int* prices, int pricesSize, int fee){int len = pricesSize;int dp[2][2];dp[0][0] = -prices[0];dp[0][1] = 0;for (int i = 1; i < len; i++){dp[i%2][0] = fmax(dp[(i-1)%2][0], dp[(i-1)%2][1]-prices[i]);dp[i%2][1] = fmax(dp[(i-1)%2][1], prices[i] + dp[(i-1)%2][0] - fee);}return dp[(len-1)%2][1];
}
相关文章:
代码随想录算法训练营第五十三天|309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费
309. 买卖股票的最佳时机含冷冻期 int maxProfit(int* prices, int pricesSize){int len pricesSize;int dp[len][4];dp[0][0] -prices[0];dp[0][1] 0;dp[0][2] 0;dp[0][3] 0;for (int i 1; i < pricesSize; i){dp[i][0] fmax(dp[i-1][0], fmax(dp[i-1][1] - prices…...
厚黑学笔记
厚黑学 我现在的情况就是在听书听到一半,但在软件上看书已经看完了,厚黑学要讲的东西大概已经摸清楚了。 总体来说,厚黑学里面的章节内容有一点沾边的嫌疑(看完后的想法),但这本书还是有值得阅读的,但主讲…...

IDEA MyBatisX插件介绍
一、前言 前几年写代码的时候,要一键生成DAO、XML、Entity基础代码会采用第三方工具,比如mybatis-generator-gui等,现在IDEA或Eclipse都有对应的插件,像IDEA中MyBatisX就是一个比较好用的插件。 二、MyBatisX安装配置使用 MyBa…...

【PyQt学习篇 · ②】:QObject - 神奇的对象管理工具
文章目录 QObject介绍Object的继承结构测试QObject对象名称和属性QObject对象名称和属性的操作应用场景 QObject父子对象QObject父子对象的操作 QObject的信号与槽QObject的信号与槽的操作 QObject介绍 在PyQt中,QObject是Qt框架的核心对象之一。QObject是一个基类…...

【AcWing】1.1.3二分搜索
一、二分搜索 1、查找数的范围 原题链接 这道题看似是二分搜索的题目,实则就是二分搜索。与一般的搜索不同的是,若查找元素重复,则分别返回重复元素的左端下标和右端下标,若不存在则返回“-1 -1。我们常用的二分搜索是返回的…...
【Python第三方包】串口通信(pySerial包)
文章目录 前言一、串口的基本使用1.1 配置串口基本信息1.2 读取串口数据1.3 写串口1.4 关闭串口二、示例代码2.1 示例1: 从串口读取数据2.2 示例2: 向串口写入数据总结前言 串口通信是许多嵌入式和物联网应用中的关键组成部分。Python 提供了许多第三方库来简化串口通信的实现…...

VS Code2023安装教程(最新最详细教程)附网盘资源
目录 一.简介 二.安装步骤 三.VS Code 使用技巧 网盘资源见文末 一.简介 VS Code是一个由微软开发的跨平台的轻量级集成开发环境(IDE),被广泛用于编写各种编程语言的代码。它支持多种编程语言,并且可以通过插件扩展功能。 以…...

最优值函数
一、最优状态值函数 解决强化学习任务大致上意味着找到一种政策,能够在长期内实现很多奖励。对于有限MDPs,我们可以精确地定义一种最优政策,其定义如下。值函数定义了政策的一种部分排序。如果一个政策的预期回报大于或等于另一个政策π0在所…...

软考系统架构师知识点集锦十:计算机网络、数学与经济管理、知识产权与标准化
一、计算机网络 1.1、考情分析 2.1 TCP/IP协议簇 2.1.1常见协议及功能 网际层是整个TCP/IP体系结构的关键部分,其功能是使主机可以把分组发往任何网络并使分组独立地传向目标。 POP3: 110 端口,邮件收取SMTP: 25 端口,邮件发送FTP: 20数据端口/21控制…...

风云七剑攻略,最强阵容搭配
今天的风云七剑攻略最强阵容搭配给大家推荐以神仙斋减怒回血为主的阵容。 关注【娱乐天梯】,获取内部福利号 首先,这个角色在这个阵容当中,所有的角色当中,他的输出系数是最高的,已经达到了200%的层次,而且…...

关于ABB 机器人多任务的建立
关于ABB 机器人多任务的建立.需要实时监控某一区域,或者某一信号,或者计件到达某一数量机器人自动停止报警,显示到示教器上,多任务可以实现,类似发那科机器人后台逻辑指令 当软件选项漏选或者少选可以选择修改选项&…...

【计算机网络笔记】传输层——多路复用和多路分用
系列文章目录 什么是计算机网络? 什么是网络协议? 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能(1)——速率、带宽、延迟 计算机网络性能(2)…...

【PC】特殊空投-2023年10月
亲爱的玩家朋友们,大家好! 10月特殊空投活动来袭。本月我们也准备了超多活动等着大家来体验。快来完成任务获得丰富的奖励吧!签到活动,每周一次的PUBG空投节,还有可以领取PGC2023免费投票劵的活动等着大家!…...
Android Studio 下载地址
一、Android Studio 下载地址及版本说明 1.Android 开发者官网:(1)Android Developers (全球,需科学上网) (2)https://developer.android.google.cn/index.html (国内&a…...
General error: 2006 MySQL server has gone away thinkphp6.0 报这个错误怎么修改
"General error: 2006 MySQL server has gone away" 错误表示 MySQL 服务器连接已断开或超时,导致无法继续进行数据库操作。 在 ThinkPHP 6.0 中,您可以通过以下方法来解决这个问题: 调整 MySQL 服务器的超时设置:您可…...

08 _ 栈:如何实现浏览器的前进和后退功能?
浏览器的前进、后退功能,我想你肯定很熟悉吧? 当你依次访问完一串页面a-b-c之后,点击浏览器的后退按钮,就可以查看之前浏览过的页面b和a。当你后退到页面a,点击前进按钮,就可以重新查看页面b和c。但是,如果你后退到页面b后,点击了新的页面d,那就无法再通过前进、后退…...
【T】分治与倍增
分治,分而治之,其中最经典的便是二分 一、二分 一种经典而且非常好用的思想 将原问题对半转换成两个问题,子问题又继续转换成两个问题,许多子问题会很显然对答案没有关系,所以能讲原本O(n)的东西转化为O(logn) 但一般…...

后门分析及示例
代码分析,关键字定位 传一个asp文件 输入账户错误会提示:非法登录; 逆向工程抓取这个关键字定位 查找代码里面的关键字,定位到关键字后把代码复制出来, 修改exec执行函数为msgbox消息弹出用gb2312方式保存成VBS文件.…...

Vue 的双向数据绑定是如何实现的?
目录 1. 响应式数据 2. v-model 指令 3. 实现原理 4. 总结 Vue.js 是一款流行的前端 JavaScript 框架,它以其强大的双向数据绑定能力而闻名。双向数据绑定使得数据在视图和模型之间保持同步,并且任一方的变化都会自动反映到另一方。那么,…...

Android环境变量macOS环境变量配置
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览macOS基础知识 三、设置环境变量3.1 终…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

TDengine 快速体验(Docker 镜像方式)
简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能,本节首先介绍如何通过 Docker 快速体验 TDengine,然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker,请使用 安装包的方式快…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...

工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...

深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...