Day50 动态规划 part11
Day50 动态规划 part11
123.买卖股票的最佳时机III
我的思路:
这道题考虑了交易次数 j(最大次数为2),以及某天 i 应该买or卖股票(两种状态)
用三维数组表示
dp[i][j][0] – 第i天结束时,交易j次,手里没有股票
状态方程 dp[i][j][0] = Math.max(dp[i - 1][j][0], dp[i - 1][j][1] + prices[i])
dp[i][j][1] – 第i天结束时,交易j次,手里有股票
状态方程 dp[i][j][1] = Math.max(dp[i - 1][j][1], dp[i - 1][j - 1][0] - prices[i])
解答:
class Solution {public int maxProfit(int[] prices) {int n = prices.length;int max = 2;int[][][] dp = new int[n][max + 1][2];for(int j = 0; j <= max; j++) {dp[0][j][0] = 0;dp[0][j][1] = -prices[0];}for(int i = 1; i < n; i++) {for(int j = 1; j <= max; j++) {dp[i][j][0] = Math.max(dp[i - 1][j][0], dp[i - 1][j][1] + prices[i]);dp[i][j][1] = Math.max(dp[i - 1][j][1], dp[i - 1][j - 1][0] - prices[i]);}}return dp[n - 1][max][0];}
}
188.买卖股票的最佳时机IV
我的思路:
和上一题代码一样,只是这题给定了最大交易次数k,只要把上一题的max换成k就行
解答:
class Solution {public int maxProfit(int k, int[] prices) {int n = prices.length;int[][][] dp = new int[n][k + 1][2];for(int j = 0; j <= k; j++) {dp[0][j][0] = 0;dp[0][j][1] = -prices[0];}for(int i = 1; i < n; i++) {for(int j = 1; j <= k; j++) {dp[i][j][0] = Math.max(dp[i - 1][j][0], dp[i - 1][j][1] + prices[i]);dp[i][j][1] = Math.max(dp[i - 1][j][1], dp[i - 1][j - 1][0] - prices[i]);}}return dp[n - 1][k][0];}
}
相关文章:
Day50 动态规划 part11
Day50 动态规划 part11 123.买卖股票的最佳时机III 我的思路: 这道题考虑了交易次数 j(最大次数为2),以及某天 i 应该买or卖股票(两种状态) 用三维数组表示 dp[i][j][0] – 第i天结束时,交易j…...

Docker 搭建私有镜像仓库
一、镜像仓库简介 Docker的镜像仓库是一个用于存储和管理Docker镜像的中央位置。镜像仓库的主要作用是提供一个集中的地方,让用户可以上传、下载、删除和共享Docker镜像。镜像仓库又可以分为公共镜像仓库和私有仓库镜像仓库: 公共镜像仓库 Docker Hub 是…...

Nginx反向代理与Tomcat实现ssm项目前后端分离部署
Nginx nginx是一款http和支持反向代理的web服务器,以其优越的性能被广泛使用。以下是百度百科的介绍。 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.…...
element UI 日期选择器 当前年份之前不可选
<el-date-pickertype"year"format"YYYY"value-format"YYYY"v-model"declareYear"placeholder"请选择年份":disabled-date"disabledDateFun"/>function disabledDateFun(time) {if (time.getFullYear() <…...

windows wireshark抓包rtmp推流出现TCP Retransmission
解决办法:tcp.port1935 && !(tcp.analysis.retransmission)...
C++之std::initializer_list详解
相关文章系列: C/C中{}的用法总结(全)_c {}-CSDN博客 目录 1.引言 2.容器的初始化 3.函数中使用std::initializer_list 4.自定义类型中使用std::initializer_list 5.迭代std::initializer_list 6. 在模板中使用std::initializer_list 7.std::initializer_lis…...

4月9日学习记录
[GXYCTF 2019]禁止套娃 涉及知识点:git泄露,无参数RCE 打开环境,源码什么的都没有,扫描后台看看 扫描发现存在git泄露 用githack下载查看得到一串源码 <?php include "flag.php"; echo "flag在哪里呢&#…...
解析快手滑块验证码的逆向工程
快手滑块验证码是一种常见的反机器人验证方式,通过模拟用户拖动滑块来验证用户身份。本文将介绍如何逆向工程快手滑块验证码的加密算法和轨迹生成方式,并提供详细的代码实现。 1. 加密算法解析 首先,我们需要了解滑块验证码生成时所用的加密…...

mysql运维知识总结
1. 日志 1.1 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过 程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&…...

【目标检测】-入门知识
1、回归与分类问题 回归问题是指给定输入变量(特征)和一个连续的输出变量(标签),建立一个函数来预测输出变量的值。换句话说,回归问题的目标是预测一个连续的输出值,例如预测房价、股票价格、销售额等。回归问题通常使用回归分析技术,例如线性回归、多项式回归、决策树…...

翻译笔实现文字识别功能的原理
翻译笔作为一种便携式设备,近年来在语言学习、旅游、商务交流等领域中逐渐受到人们的青睐。其核心功能之一便是文字识别,即将纸质或电子文档中的文字快速、准确地转化为机器可读的文本格式。那么,翻译笔是如何实现这一神奇功能的呢࿱…...

文件批量重命名,繁体中文秒变简体中文,轻松实现高效翻译
在数字化时代,我们的工作、学习和生活都离不开电脑文件。随着时间的推移,文件数量不断增加,管理起来变得越来越困难。你是否曾经为如何高效、有序地管理文件而烦恼?现在,有一款强大的文件批量重命名工具,它…...

UML学习
UML(Unified Modeling Language):统一建模语言,提供了一套符号和规则来帮助分析师和设计师表达系统的架构、行为和交互 类图:描绘类、接口之间的关系(继承、实现、关联、依赖等)以及类的内部结构(属性和方法),直观展现系统的静态…...

【话题:工作生活】2022年工作总结--疫情下的上海,疫情中的我。
现在是阳历2023年11月27日星期一,我再次开始撰写自己的年终工作总结。希望再过1、2个月,这份年终总结能够出炉,与大家相遇。 给自己定个小目标,年终的工作生活总结坚持写10年。我2017年毕业,之后就开始写每年的年终总结…...
13.磁盘逻辑卷管理
目录 概述实践查看盘 概述 实践 查看盘 命令 lsblk [rootks2p-hadoop04 ~]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 447.1G 0 disk ├─sdb1 8:17 0 200M 0 part /boot/efi ├─sdb2 8:18 …...
SFTP服务详解:安全高效的文件传输新选择
在数字化日益盛行的今天,文件传输已成为我们日常生活和工作中不可或缺的一部分。然而,传统的文件传输方式往往存在着安全隐患和效率低下的问题。幸运的是,SFTP(SSH File Transfer Protocol)服务的出现为我们提供了一个安全、高效的文件传输解决方案。今天,就让我们一起深…...

mp4转flv怎么转?电脑怎么把视频转成flv?
MP4(MPEG-4 Part 14)是一种多媒体容器格式,广泛用于包含视频、音频、字幕等多种数据流。MP4因其高度灵活性、压缩效率和兼容性成为视频领域的主流格式,支持范围涵盖从在线视频到移动设备的各类应用场景。 FLV文件格式的多个优点 …...

计算机视觉——Python OpenCV BGR转HSV
这里将介绍如何使用 OpenCV 与 Python 来作彩色影像转HSV(RGB to HSV 或 BGR to HSV),在写 Python 影像处理程序时常会用到 OpenCV cvtColor 作颜色空间转换的功能,接下来介绍怎么使用 Python 搭配 OpenCV 模块来进行 RGB/BGR 转 HSV 彩色转HSV空间。 H…...

DC9 Debian和sql注入
信息收集 sudo arp-scan -l 列出局域网主机 arp-scan向局域网中所有可能的ip地址发出arp请求包,如果得到arp回应,就证明局域网中某台主机使用了该ip dc9的ip : 192.168.146.133 访问网页 cms为Debian 端口扫描 22端口是filtered 隐藏目…...

Windows系统上运行appium连接iOS真机自动化测试
步骤: 1、windows安装tidevice工具 2、Mac系统打包安装WebDriverAgent(WDA)工具 3、安装Appium 4、连接iOS手机 iOS自动化的实现和执行都依赖Mac系统,因为需要通过Xcodebuild编译安装WDA (WebDriverAgent)到iOS设备中,通过WDA实现对被测应用进行操作。而Windows系统无…...

大数据学习栈记——Neo4j的安装与使用
本文介绍图数据库Neofj的安装与使用,操作系统:Ubuntu24.04,Neofj版本:2025.04.0。 Apt安装 Neofj可以进行官网安装:Neo4j Deployment Center - Graph Database & Analytics 我这里安装是添加软件源的方法 最新版…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...

【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...