当前位置: 首页 > news >正文

算法题打卡day50-动态规划 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

123. 买卖股票的最佳时机 III - 力扣(LeetCode)

状态:查看索引含义和初始化思路后AC。

增加了两次的限制,相应的就是需要考虑的状态改变,具体的索引含义在代码中:

class Solution {
public:int maxProfit(vector<int>& prices) {int len = prices.size();vector<vector<int>> dp(len, vector<int>(5, 0));// dp[i][0] - 无操作// dp[i][1] - 第一次持有// dp[i][2] - 第一次不持有// dp[i][3] - 第二次持有// dp[i][4] - 第二次不持有dp[0][0] = 0, dp[0][1] = -prices[0], dp[0][2] = 0, dp[0][3] = -prices[0], dp[0][4] = 0;for(int i = 1; i < len; ++i){dp[i][1] = max(dp[i-1][1], dp[i-1][0]-prices[i]);dp[i][2] = max(dp[i-1][2], dp[i-1][1]+prices[i]);dp[i][3] = max(dp[i-1][3], dp[i-1][2]-prices[i]);dp[i][4] = max(dp[i-1][4], dp[i-1][3]+prices[i]);}return dp[len-1][4];}
};

188. 买卖股票的最佳时机 IV - 力扣(LeetCode)

状态:思路正确,对k的偶数判断有误。

注意对K的处理和遍历过程中的相对变化,代码如下:

class Solution {
public:int maxProfit(int k, vector<int>& prices) {// 就是j的变换,从2维度变成5维再变成k维int len = prices.size();if(len == 0) return 0;vector<vector<int>> dp(len, vector<int>(2*k+1, 0));// initialdp[0][0] = 0;for(int i = 1; i < 2*k; i += 2){dp[0][i] = -prices[0];}for(int i = 1; i < len; ++i){for(int j = 0; j < 2*k-1; j += 2){dp[i][j+1] = max(dp[i-1][j+1], dp[i-1][j]-prices[i]);dp[i][j+2] = max(dp[i-1][j+2], dp[i-1][j+1]+prices[i]);}}return dp[len-1][2*k];}
};

相关文章:

算法题打卡day50-动态规划 | 123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

123. 买卖股票的最佳时机 III - 力扣&#xff08;LeetCode&#xff09; 状态&#xff1a;查看索引含义和初始化思路后AC。 增加了两次的限制&#xff0c;相应的就是需要考虑的状态改变&#xff0c;具体的索引含义在代码中&#xff1a; class Solution { public:int maxProfit(…...

jvm与锁

今天是《面霸的自我修养》的第二弹&#xff0c;内容是Java并发编程中关于Java内存模型&#xff08;Java Memory Model&#xff09;和锁的基础理论相关的问题。这两块内容的八股文倒是不多&#xff0c;但是难度较大&#xff0c;接下来我们就一起一探究竟吧。 数据来源&#xff…...

零基础安装pycuda

零基础安装pycuda 前言安装Visual Studio安装C/C环境添加环境变量 安装pycuda查看系统位数查看python版本下载whl文件 前言 最近开始学习基于python的cuda编程&#xff0c;记录一下pycuda的安装。 在安装pycuda之前&#xff0c;首先需要有NVIDIA的独立显卡并且要安装CUDA和CUD…...

Streamlit 讲解专栏(十一):数据可视化-图表绘制详解(中)

文章目录 1 前言2 绘制交互式散点图3 定制图表主题4 增强数据可视化的交互性与注释步骤1步骤二 5 结语 1 前言 在上一篇博文《 Streamlit 讲解专栏&#xff08;十&#xff09;&#xff1a;数据可视化-图表绘制详解&#xff08;上&#xff09;》中&#xff0c;我们学习了一些关…...

d3dx9_35.dll丢失怎么解决

今天&#xff0c;我将为大家介绍关于电脑d3dx9_35.dll丢失的4种详细修复方法。希望通过这次分享&#xff0c;能够帮助大家解决在日常工作和生活中遇到的一些问题。 首先&#xff0c;让我们来了解一下d3dx9_35.dll是什么&#xff1f; d3dx9_35.dll是一个非常重要的动态链接库文…...

Ansible自动化运维工具(二)

目录 &#xff08;6&#xff09;copy模块 &#xff08;7&#xff09;file模块 ​编辑​编辑&#xff08;8&#xff09;hostname模块 &#xff08;9&#xff09;ping模块 &#xff08;10&#xff09;yum 模块 &#xff08;11&#xff09;service/system模块 ​编辑 ​…...

uniapp中使用原生canvas标签绘制视频帧来模拟拍照,拍照后将图绘制在另外一个canvas上编辑画图,这样反复操作

uniapp中使用原生canvas标签绘制视频帧来模拟拍照&#xff0c;拍照后将图绘制在另外一个canvas上编辑画图&#xff0c;这样反复操作会导致ios系统上白屏&#xff0c;canvas2d上下文为null,经查阅找到相关资料 IOS 创建Canvas过多导致getContext(‘2d’) 返回null 总 Canvas 内存…...

机器视觉工程师们,学习是工作以外的事情

面试时&#xff0c;领导问你&#xff0c;很多技术问题&#xff0c;你永远的回答是&#xff0c;我可以学。 公司以为你来公司的目标就是学习&#xff0c;学完就跑。 那你进公司的目标到底是什么&#xff1f; 我认为你&#xff0c;你最好想好再回答。 对于每一家公司来说&#xf…...

数据驱动的生活:探索未来七天生活指数API的应用

前言 随着科技的不断发展&#xff0c;数据已经成为我们生活中不可或缺的一部分。从社交媒体上的点赞和分享&#xff0c;到电子邮件和搜索引擎的历史记录&#xff0c;数据正在以前所未有的速度积累。而这些数据的利用不仅仅停留在社交媒体或商业领域&#xff0c;它们还可以为我…...

【数据分享】2006-2021年我国城市级别的集中供热相关指标(免费获取\20多项指标)

《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况&#xff0c;在之前的文章中&#xff0c;我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…...

2022年研究生数学建模竞赛优秀论文汇总

A题&#xff1a;移动场景超分辨定位问题 参考代码论文1 论文2 论文3 论文4 论文5 论文6 论文7B题&#xff1a; 方形件排样优化与订单组批问题探析 参考代码论文1 论文2 论文3 论文4 论文5 论文6 论文7C题&#xff1a; 汽车制造涂装-总装缓存调序区调度优化问题论文1 论文2 论文…...

阿里云申请免费SSL证书的两种验证方式及配置服务器Tomcat升级HTTPS协议

通用教程&#xff0c;其他服务商的免费 SSL 证书也差不多是这个流程。&#xff08;至少腾讯云的操作步骤和本文是一致&#xff0c;嘻嘻&#xff01;&#xff09; 申请 SSL 证书 首先在阿里云上创建并申请 SSL 证书&#xff0c;之后选择 DNS 验证的方式&#xff0c;一种是手动配…...

SQL Server 和 MySql 语法和关键字的区别

SQL Server 和 MySql 语法和关键字的区别 ——用于SQLServer到MySql的转换 mysql的ifnull()函数对应sql的isnull()函数;mysql的存储过程中变量的定义去掉;mysql的每句结束要用";"SQLServer存储过程的AS在MySql中需要用begin .....end替换字符串连接用concat()函数;…...

2023_Spark_实验三:基于IDEA开发Scala例子

一、创建一个空项目&#xff0c;作为整个项目的基本框架 二、创建SparkStudy模块&#xff0c;用于学习基本的Spark基础 三、创建项目结构 1、在SparkStudy模块下的pom.xml文件中加入对应的依赖&#xff0c;并等待依赖包下载完毕。 在pom.xml文件中加入对应的依赖 ​<!-- S…...

2023年高教社杯数学建模思路 - 案例:异常检测

文章目录 赛题思路一、简介 -- 关于异常检测异常检测监督学习 二、异常检测算法2. 箱线图分析3. 基于距离/密度4. 基于划分思想 建模资料 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 一、简介 – 关于异常…...

C# Dapper 操作Oracle数据库

nuget安装内容 1.配置连接字符串 OracleConnectionString这个可用 {"Logging": {"LogLevel": {"Default": "Information","Microsoft.AspNetCore": "Warning"}},"AllowedHosts": "*","…...

element侧边栏子路由点击不高亮问题

最近自己封装侧边栏 又碰到了点击子路由不高亮的问题 <template><div class"aside"><el-scrollbar :vertical"true" class"scrollbar_left_nav"><el-menu :default-active"defaultActive" :collapse"$stor…...

C# 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)

C# 在调用Cdll时&#xff0c;可能会出现 &#xff1a;试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)这个错误。 一般情况下是C#目标平台跟Cdll不兼容&#xff0c;64位跟32位兼容性问题&#xff0c; a.客户端调用Cdll报的错则&#xff0c; 1)允许的话把C#客户端…...

Linux 进程的睡眠和唤醒详解

概要 在Linux中&#xff0c;仅等待CPU时间的进程称为就绪进程&#xff0c;它们被放置在一个运行队列中&#xff0c;一个就绪进程的状 态标志位为 TASK_RUNNING。一旦一个运行中的进程时间片用完&#xff0c; Linux 内核的调度器会剥夺这个进程对CPU的控制权&#xff0c;并且从运…...

AI 绘画Stable Diffusion 研究(十五)SD Embedding详解

大家好&#xff0c;我是风雨无阻。 本期内容&#xff1a; Embedding是什么&#xff1f;Embedding有什么作用&#xff1f;Embedding如何下载安装&#xff1f;如何使用Embedding&#xff1f; 大家还记得 AI 绘画Stable Diffusion 研究&#xff08;七&#xff09; 一文读懂 Stab…...

如何高效构建视频数据集:video2frame终极实战指南

如何高效构建视频数据集&#xff1a;video2frame终极实战指南 【免费下载链接】video2frame Yet another easy-to-use tool to extract frames from videos, for deep learning and computer vision. 项目地址: https://gitcode.com/gh_mirrors/vi/video2frame 在计算机…...

Python try...except ImportError 语句详解

在Python编程中&#xff0c;ImportError 是与模块导入相关的核心异常。优雅地处理它&#xff0c;是编写健壮、可维护和跨平台代码的关键。try...except ImportError 结构正是实现这一目标的标准工具。本文将为你抽丝剥茧&#xff0c;从基础概念到高级实践&#xff0c;全面解析这…...

Adobe-GenP终极指南:5分钟破解Adobe创意套件限制的完整教程

Adobe-GenP终极指南&#xff1a;5分钟破解Adobe创意套件限制的完整教程 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP 你是否曾因为Adobe Creative Cloud高昂的订阅…...

Ix开源平台:基于Kubernetes的私有云与家庭实验室一体化管理方案

1. 项目概述与核心价值最近在折腾一个叫Ix的开源项目&#xff0c;它来自ix-infrastructure这个组织。乍一看这个名字&#xff0c;你可能觉得有点抽象&#xff0c;但如果你对自托管、家庭实验室、私有云或者想找一个更现代、更易用的 TrueNAS 替代品感兴趣&#xff0c;那这个项目…...

【实战指南】STM32CubeMX UART配置进阶:从阻塞到中断+DMA的高效数据通信

1. UART通信模式选择指南 第一次接触STM32的UART通信时&#xff0c;很多人都会纠结该用哪种模式。我在实际项目中尝试过所有模式&#xff0c;总结下来就是&#xff1a;没有最好的模式&#xff0c;只有最适合当前场景的模式。先说说三种典型场景&#xff1a; 调试打印&#xff1…...

免费额度即将失效?ElevenLabs 2024.6.1新规生效前,必须完成的5项额度迁移准备

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs免费额度机制的本质解析 ElevenLabs 的免费额度并非按“每月重置”的静态配额&#xff0c;而是一种基于账户生命周期的动态信用池&#xff08;Credit Pool&#xff09;&#xff0c;其底层由实…...

百度网盘直链解析工具:突破下载限速的Python解决方案

百度网盘直链解析工具&#xff1a;突破下载限速的Python解决方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 你是否曾经为百度网盘的下载速度而烦恼&#xff1f;作为国内最…...

DLSS Swapper终极指南:免费开源的游戏DLSS智能管理工具

DLSS Swapper终极指南&#xff1a;免费开源的游戏DLSS智能管理工具 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper DLSS Swapper是一款革命性的免费开源工具&#xff0c;专为PC游戏玩家设计&#xff0c;能够智能管理、…...

Kubernetes配置管理实战:基于Kustomize的结构化部署与多环境管理

1. 项目概述&#xff1a;一个被低估的Kubernetes配置管理利器如果你和我一样&#xff0c;长期在Kubernetes生态里摸爬滚打&#xff0c;那你一定经历过这样的场景&#xff1a;为了部署一个稍微复杂点的应用&#xff0c;需要维护一堆YAML文件——Deployment、Service、ConfigMap、…...

飞书自动化开发实战:从脚本编写到事件驱动架构设计

1. 项目概述&#xff1a;飞书自动化&#xff0c;从“手动挡”到“自动驾驶”的进化 如果你每天的工作&#xff0c;有超过30%的时间是在飞书里重复着“点击-填写-发送”的枯燥操作&#xff0c;比如手动拉取数据生成日报、定时向群聊推送消息、或者根据特定条件审批流程&#xf…...