Day43:123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

文章目录

    • 123.买卖股票的最佳时机III
      • 思路
      • 代码实现
    • 188.买卖股票的最佳时机IV
      • 思路
      • 代码实现


123.买卖股票的最佳时机III

题目链接

思路

这道题规定了买卖次数只能为2,直接把两次过程分开,分为四层,分别为:

  1. 第一次持有股票
  2. 第一次不持有股票
  3. 第二次持有股票
  4. 第二次不持有股票

1可以由1和2推出,2可以由2和1推出;
3可以由3和2推出,4可以由4和3推出;
如何推出其实和121. 买卖股票的最佳时机、122.买卖股票的最佳时机II差不多,看不懂可以去看我昨天的文章。

代码实现

class Solution {
public:int maxProfit(vector<int>& prices) {if(prices.size()<=1)return 0;vector<vector<int>> dp(prices.size(),vector<int>(4,0));//dp[i][0]表持有,dp[i][1]表不持有dp[0][0]=0-prices[0];dp[0][2]=0-prices[0];for(int i=1;i<prices.size();i++){dp[i][0]=max(dp[i-1][0],0-prices[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]);}return dp[prices.size()-1][3];}
};

188.买卖股票的最佳时机IV

题目链接

思路

其实推导dp数组的是有规律可循的,直接把繁琐过程变成for循环即可,和上一题差不多。

代码实现

class Solution {
public:int maxProfit(int k, vector<int>& prices) {if(prices.size()<=1)return 0;vector<vector<int>> dp(prices.size(),vector<int>(2*k,0));//dp[i][0]表持有,dp[i][1]表不持有for(int i=0;i<2*k;i+=2){dp[0][i]=0-prices[0];}for(int i=1;i<prices.size();i++){dp[i][0]=max(dp[i-1][0],0-prices[i]);dp[i][1]=max(dp[i-1][1],dp[i-1][0]+prices[i]);for(int j=2;j<2*k-1;j+=2){dp[i][j]=max(dp[i-1][j],dp[i-1][j-1]-prices[i]);dp[i][j+1]=max(dp[i-1][j+1],dp[i-1][j]+prices[i]);}}return dp[prices.size()-1][2*k-1];}
};

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

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

相关文章

5款最佳替代Sketch软件,第一款简直令人叹为观止!

Sketch是Mac平台上专门为用户界面设计的矢量图形绘制工具。Sketch简单的界面背后有优秀的矢量绘图能力和丰富的插件库。但遗憾的是&#xff0c;Sketch只能在Mac平台上使用和浏览&#xff0c;是本地化工具&#xff0c;云共享功能并不完善。本文盘点了5个Sketch替代软件&#xff…

在windows上使用多个版本的chrome(谷歌)浏览器

1、下载离线安装包&#xff0c;地址为&#xff1a;版本99- https://download.csdn.net/download/xiaozukun/88583844 或&#xff0c;版本121- https://download.csdn.net/download/xiaozukun/88583876 2、下载后解压缩&#xff0c;在解压后的文件下新建名为“user-data”的文…

对c语言的认识(基础语法知识请见笔者之前文章)

底层逻辑&#xff1a; 1.c语言的整体思想&#xff1a;面向过程&#xff0c;而问题的实现过程是解题时的主要难点&#xff0c;与其花时间分析问题结果&#xff0c;不如研究问题的过程 2.变量的初始化与赋值&#xff1a;初始化为变量的初值&#xff0c;通常表示为0或者其他的数&a…

MAVEN冲突解决

MAVEN冲突解决 1.安装下面这个插件 2.安装成功点击pom文件 dependency analyzer标志&#xff0c;说明maven helper插件就安装成功 3.点击dependency analyzer之后就会进入到下面的页面 4.标记红色就是版本冲突&#xff0c;右击complie&#xff0c;排除不是使用的 5.POM 文件…

基于JavaScript的jimp库处理图片,添加绘制点

Jimp 是一个用于在 Node.js 环境下进行图像处理的 JavaScript 库。要在图片上绘制点并控制点的大小和颜色&#xff0c;你可以使用 Jimp 库的相关方法来实现。 这里来看介绍吧&#xff0c;英文不好的找翻译gpt和度娘应该都不错 GitHub - jimp-dev/jimp: An image processing l…

【量子机器学习】量子机器学习的介绍

量子机器学习&#xff1a;解锁未来的计算潜能 随着科技的迅速进步&#xff0c;量子机器学习&#xff08;QML&#xff09;作为量子计算和机器学习的完美融合&#xff0c;为我们带来了前所未有的计算潜能。在这个新兴领域中&#xff0c;量子神经网络&#xff08;QNN&#xff09;…

centos 安装谷歌浏览器

centos安装谷歌浏览器_centos google浏览器_运维小兵的博客-CSDN博客 https://googlechromelabs.github.io/chrome-for-testing/ 谷歌driver下载地址 String url "https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?typeweb&code"code"…

基于深度学习的表情动作单元识别综述

论文标题&#xff1a;基于深度学习的表情动作单元识别综述 作者&#xff1a;邵志文1&#xff0c;2&#xff0c;周 勇1&#xff0c;2&#xff0c;谭 鑫3&#xff0c;马利庄3&#xff0c;4&#xff0c;刘 兵1&#xff0c;2&#xff0c;姚 睿1&#xff0c;2 发表日期&#xff1a…

提供视频会员权益/音频会员权益/生活周边权益/卡密+api接口源码

1、获取卡券特权数据&#xff08;直充、卡券&#xff09; 网关URL&#xff1a;https://router.wikeyun.cn/rest/Quanyi/privilege 参数名 类型 必填 参数说明 id int 否 权益id&#xff0c;不传或传空字符串全部 pro_type int 否 产品类型&#xff0c;不传或传空字…

程序员养生之道:延寿秘诀揭秘

目录 引言&#xff1a; 第一部分&#xff1a;充足的睡眠 第二部分&#xff1a;合理饮食 第三部分&#xff1a;适当的运动 第四部分&#xff1a;保护视力和颈椎 第五部分&#xff1a;心理调节 第六部分&#xff1a;适度娱乐 引言&#xff1a; 在现代社会中&#xff0c;程…

入门学习1

docker命令参考 Docker专题栏目 (java265.com) 一句话就是docker解决了运行环境不一致所带来的问题 第一章 什么是docker 1.1 docker的发展史 1.2 docker国内应用史 1.3 什么是Docker 第二章 了解docker 2.1 docker思想 2.1.1 集装箱 2.1.2 标准化 2.1.3 隔离 2.2 …

软件工程(十)

软件质量 定义 ANSI/IEEE Std 729-1983定义软件质量为“与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体” ISO 8402-1994定义软件质量为“反映实体满足明确和隐含需要的能力的特性的总和”。此处&#xff0c;实体是“可以单独描述和研究的事物”&#xff0c…

iRDMA流量控制总结 - 2

4.0 Priority Flow Control – Fundamentals带优先级的流量控制 - 基础知识 PFC is defined by IEEE Standard 802.1Qbb and is part of the DCB suite of enhancements designed to make Ethernet a more viable, competitive transport in compute and storage environments.…

SQLite数据库

接触到很多的sqlite数据库的内容&#xff0c;主要记录一下&#xff1a; 一些学习链接&#xff1a; https://zhuanlan.zhihu.com/p/604609409?utm_id0 https://blog.csdn.net/QtCompany/article/details/129671584 SQLite Expert的官方下载链接&#xff1a; https://www.sql…

RabbitMQ的Web管理页面

访问页面 http://IP:15672/账号密码默认都是&#xff1a;guest 主页概览 Overview 显示当前RabbitMQ Broker的运行信息、连接信息、集群信息以及配置信息等。 连接 Connections 无论生产者还是消费者&#xff0c;都需要与RabbitMQ建立连接后才可以完成消息的生产和消费&#…

QT(18):QString

目录 QStringQTypedArrayDataQTypedArrayDataQLatin1StringQStringLiteral乱码 QStringRef QString QString 存储16位QChar的字符串&#xff0c;其中每个QChar对应一个 UTF-16代码单元。QString 使用&#xff08;写入时复制copy-on-write&#xff09;来减少内存使用并避免不必…

CSS的filter属性详解

目录 前言 函数 blur()函数 brightness()函数 contrast()函数 drop-shadow()函数 grayscale()函数 hue-rotate() (en-US)函数 invert() (en-US)函数 opacity()函数 saturate() (en-US)函数 sepia() (en-US)函数 组合函数 前言 CSS的filter 属性将模糊或颜色偏移等…

【正点原子STM32连载】 第六十一章 USB读卡器(Slave)实验摘自【正点原子】APM32F407最小系统板使用指南

1&#xff09;实验平台&#xff1a;正点原子APM32F407最小系统板 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html## 第六十…

Electronica慕尼黑电子展 Samtec团队与21ic分享虎家产品与方案

【摘要/前言】 “希望但凡是能够使用到连接器的场合都有Samtec的身影” 在慕尼黑上海电子展现场&#xff0c;Samtec华东区销售经理章桢彦先生在与21ic副主编刘岩轩老师的采访中&#xff0c;如是说道。这是一种愿景&#xff0c;更是Samtec的努力方向。短短一句话&#xff0c;…

视频播放标签,设置自动播放 暂停键 播放键 js方法

1 创建video 标签&#xff0c;标签设置属性 autoplay 自动播放&#xff0c;宽高100 全屏。 <video class"video" id"shipin" controls"controls" autoplay poster"" style"width:100%;height:100%;position:fixed;">&…