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

@ 代码随想录算法训练营第8周(C语言)|Day54(动态规划)

@ 代码随想录算法训练营第8周(C语言)|Day54(动态规划)

Day53、动态规划(包含题目 ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV )

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

题目描述

给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

题目解答

int maxProfit(int* prices, int pricesSize) {int **dp=(int**)malloc(sizeof(int*)*4);for(int i=0;i<4;i++){dp[i]=(int*)malloc(sizeof(int)*pricesSize);}dp[0][0]=-prices[0];//第一次持有dp[1][0]=0;//第一次不持有dp[2][0]=-prices[0];//第二次持有dp[3][0]=0;for(int i=1;i<pricesSize;i++){dp[0][i]=fmax(dp[0][i-1],-prices[i]);dp[1][i]=fmax(dp[1][i-1],dp[0][i-1]+prices[i]);dp[2][i]=fmax(dp[2][i-1],dp[1][i-1]-prices[i]);dp[3][i]=fmax(dp[3][i-1],dp[2][i-1]+prices[i]);}return dp[3][pricesSize-1];
}

题目总结

买两次的股票问题。

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

题目描述

给定一个整数数组 prices ,它的第 i 个元素 prices[i] 是一支给定的股票在第 i 天的价格。

设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。

注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

题目解答

int maxProfit(int k, int* prices, int pricesSize) {int **dp=(int**)malloc(sizeof(int*)*(2*k+1));for(int i=0;i<(2*k+1);i++){dp[i]=(int*)malloc(sizeof(int)*pricesSize);}for(int i=0;i<pricesSize;i++){dp[0][i]=0;}for(int i=1;i<=k;i++){dp[2*i][0]=0;}for(int i=0;i<k;i++){dp[2*i+1][0]=-prices[0];}for(int i=1;i<pricesSize;i++){for(int z=1;z<(2*k+1);z+=2){dp[z][i]=fmax(dp[z][i-1],dp[z+1][i-1]-prices[i]);dp[z+1][i]=fmax(dp[z+1][i-1],dp[z][i-1]+prices[i]);}}return dp[2*k][pricesSize-1];}

题目总结

从2次过度到无数次。

相关文章:

@ 代码随想录算法训练营第8周(C语言)|Day54(动态规划)

代码随想录算法训练营第8周&#xff08;C语言&#xff09;|Day54&#xff08;动态规划&#xff09; Day53、动态规划&#xff08;包含题目 ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV &#xff09; 123.买卖股票的最佳时机III 题目描述 给定一个数组&#…...

Flask 学习100-Flask-SocketIO 结合 xterm.js 实现网页版Xshell

前言 xterm.js 是一个使用 TypeScript 编写的前端终端组件,可以直接在浏览器中实现一个命令行终端应用。 可以实现 web-terminal 功能,类似于Xshell 操作服务器。 Flask-SocketIO 快速入门与使用基础参考前面这篇https://www.cnblogs.com/yoyoketang/p/18022139 前后端交互…...

Springboot AOP开发

Springboot AOP开发 一 AOP概述 AOP&#xff0c;即面向切面编程&#xff0c;简言之&#xff0c;面向方法编程。 针对方法&#xff0c;在方法的执行前或执行后使用&#xff0c;用于增强方法&#xff0c;或拓展。 二 AOP开发 1.引入 spring-boot-starter-aop 在SpringBoot项…...

office的excel中使用,告诉我详细的解决方案,如何变成转化为金额格式

在Office的Excel中&#xff0c;如果你想将名为"MEREFIELD"的公式结果转换为金额格式&#xff0c;你可以遵循以下详细步骤来实现&#xff1a; 书写MEREFIELD公式&#xff1a; 首先&#xff0c;在Excel中输入或确认你的MEREFIELD公式。例如&#xff0c;假设这个公式是用…...

灾后重建中GIS技术的关键作用与案例分析

地质灾害是指全球地壳自然地质演化过程中&#xff0c;由于地球内动力、外动力或者人为地质动力作用下导致的自然地质和人类的自然灾害突发事件。由于降水、地震等自然作用下&#xff0c;地质灾害在世界范围内频繁发生。我国除滑坡灾害外&#xff0c;还包括崩塌、泥石流、地面沉…...

java环境安装

java环境安装 一、官网下载&#xff1a; jdk&#xff0c;下载jdk&#xff0c;解压到D:\JAVA\Java\jdk目录下。 二、配置&#xff1a; 配置环境变量 鼠标右键我的电脑->属性->高级系统设置->环境变量->系统变量新建变量名JAVA_HOME&#xff0c;变量值为刚才解压的…...

如何在iStoreOS软路由系统中安装cpolar实现公网远程本地电脑桌面

文章目录 简介一、配置远程桌面公网地址二、家中使用永久固定地址 访问公司电脑**具体操作方法是&#xff1a;** 简介 软路由是PC的硬件加上路由系统来实现路由器的功能&#xff0c;也可以说是使用软件达成路由功能的路由器。 使用软路由控制局域网内计算机的好处&#xff1a…...

appium实现自动化测试原理

目录 1、Appium原理 1.1、Android Appium原理图文解析 1.1.2、原理详解 1.1.2.1、脚本端 1.1.2.2、appium-server 1.1.2.3、中间件bootstrap.jar 1.1.2.4、驱动引擎uiautomator 1.2、 IOS Appium原理 1、Appium原理 1.1、Android Appium原理图文解析 执行测试脚本全过…...

Linux:docker搭建redis集群(3主3从扩容缩容 哈希槽分配)

操作系统&#xff1a;centos7 docker-ce版本&#xff1a;24.0.7 1.准备redis镜像 我这里使用redis 6.0.8 镜像进行操作&#xff0c;如果你也需要镜像&#xff0c;在网络正常情况下直接使用 docker pull redis:6.0.8 即可进行下载&#xff0c;如果你没配置国内加速器&#x…...

Linux程序性能分析60秒+

Linux性能分析大师Brendan Gregg有一篇非常著名的博客&#xff0c;介绍在性能分析开始的60秒内&#xff0c;利用标准的Linux命令行工具&#xff0c;执行一次充分的性能检查&#xff0c;获得系统资源利用率和进程运行情况的整体概念&#xff0c;查看是否存在异常、评估饱和度。本…...

mmap映射文件使用示例

mmap 零拷贝技术可以应用于很多场景&#xff0c;其中一个典型的应用场景是网络文件传输。 假设我们需要将一个大文件传输到远程服务器上。在传统的方式下&#xff0c;我们可能需要将文件内容读入内存&#xff0c;然后再将数据从内存复制到网络协议栈中&#xff0c;最终发送到远…...

Linux命令:stat命令

目录 1 简介2 说明3 实例-L&#xff1a;显示链接指向的文件的信息-f&#xff1a;显示文件系统信息-t&#xff1a;以简洁的形式输出 1 简介 stat命令&#xff1a;显示文件或文件系统的状态 2 说明 使用&#xff1a;stat [OPTION]… FILE 常用选项&#xff1a; -L, --derefer…...

学会自幂数

学会自幂数 题目描述&#xff1a; 写⼀个代码打印1~100000之间的所有的自幂数&#xff0c;中间用空格分隔。 解法思路&#xff1a; 自幂数是又称自客单位数&#xff0c;是指一个整数各个位的立方和等于该整数本身的数。例如&#xff0c;153是自幂数&#xff0c;因为 1^35 ^…...

支付宝支付

文章目录 支付宝介绍接入条件支付宝开发支付流程关于回调 支付测试第三方库的sdk接口加密的两种方式第三方支付宝sdk支付宝支付封装 支付宝介绍 -https://open.alipay.com/develop/manage 扫码登录 -网站支付&#xff1a;https://opendocs.alipay.com/open/270/105899 扫码登录…...

qt中读写锁与互斥锁的区别

在Qt中&#xff0c;读写锁&#xff08;QReadWriteLock&#xff09;和互斥锁&#xff08;QMutex&#xff09;都是用于多线程编程时控制共享资源访问的工具&#xff0c;但它们在实现上有一些重要的区别。 QMutex&#xff08;互斥锁&#xff09;&#xff1a; QMutex是最基本的锁…...

Why Not Http?

游戏服务器开发主要是基于socket&#xff0c;或者websocket&#xff0c;很少采用http&#xff08;可能有部分非常轻量级的服务器选择http&#xff09;。这是什么原因呢&#xff1f;我们先来看看socket与http之间的区别。 socket与http之间的区别 socket与http对比 sockethttpT…...

基于JAVA的停车场收费系统 开源项目

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 停车位模块2.2 车辆模块2.3 停车收费模块2.4 IC卡模块2.5 IC卡挂失模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 停车场表3.2.2 车辆表3.2.3 停车收费表3.2.4 IC 卡表3.2.5 IC 卡挂失表 四、系统实现五、核心代码…...

在PyTorch中,如何查看深度学习模型的每一层结构?

这里写目录标题 1. 使用print(model)2. 使用torchsummary库3.其余方法&#xff08;可以参考&#xff09; 在PyTorch中&#xff0c;如果想查看深度学习模型的每一层结构&#xff0c;可以使用print(model)或者model.summary()&#xff08;如果你使用的是torchsummary库&#xff0…...

洛谷-P1478-陶陶摘苹果(升级版)(贪心)

陶陶摘苹果&#xff08;升级版&#xff09; 题目描述 又是一年秋季时&#xff0c;陶陶家的苹果树结了 n n n 个果子。陶陶又跑去摘苹果&#xff0c;这次他有一个 a a a 公分的椅子。当他手够不着时&#xff0c;他会站到椅子上再试试。 这次与 NOIp2005 普及组第一题不同的…...

【大数据面试题】007 谈一谈 Flink 背压

一步一个脚印&#xff0c;一天一道面试题&#xff08;有些难点的面试题不一定每天都能发&#xff0c;但每天都会写&#xff09; 什么是背压 Backpressure 在流式处理框架中&#xff0c;如果下游的处理速度&#xff0c;比上游的输入数据小&#xff0c;就会导致程序处理慢&…...

SecGPT-14B快速部署:镜像预置vLLM+Gradio+Supervisor,真正开箱即用

SecGPT-14B快速部署&#xff1a;镜像预置vLLMGradioSupervisor&#xff0c;真正开箱即用 1. 模型介绍 SecGPT-14B是一款专注于网络安全领域的文本生成大模型&#xff0c;基于Qwen2ForCausalLM架构开发&#xff0c;参数规模达到140亿。该模型经过大量网络安全相关数据的训练&a…...

多头注意力机制详解:如何提升模型表达能力并减少计算复杂度

多头注意力机制详解&#xff1a;如何提升模型表达能力并减少计算复杂度 在深度学习领域&#xff0c;注意力机制已经成为提升模型性能的关键技术之一。特别是多头注意力机制&#xff0c;它通过并行处理多个注意力头&#xff0c;不仅增强了模型捕捉不同特征子空间的能力&#xff…...

在快马平台快速构建hevc视频转码原型:三步生成可运行demo

今天想和大家分享一个在InsCode(快马)平台上快速搭建HEVC视频转码原型的经历。作为一个经常需要处理视频内容的开发者&#xff0c;我发现这个平台特别适合用来做技术验证和原型开发。 为什么选择HEVC视频扩展 HEVC&#xff08;高效视频编码&#xff09;相比传统的H.264能节省…...

手把手教你:如何根据微软官方文档修改bat脚本,实现Excel文件格式的任意批量转换

从XLS到XLSX&#xff1a;基于微软官方文档的批处理脚本进阶指南 在数据处理工作中&#xff0c;Excel文件格式转换是常见的需求场景。许多用户可能只满足于使用现成的转换工具&#xff0c;但对于技术爱好者或需要频繁处理不同格式转换的专业人士来说&#xff0c;掌握如何根据微…...

dji 妙算3编译ffmpeg启用h264_nvmpi h264_nvenc硬件加速

1. nvidia-codec-headers #版本 12.0.16 cd nv-codec-headers#更改Makefile文件&#xff0c;指定安装目录 vim Makefile PREFIX /open_app/user_installMakefile文件更改后如下所示make && make install2. nvidia-l4t-jetson-multimedia-api 下载包 wget https://repo…...

智能预处理+动态权重:Anything to RealCharacters 2.5D转真人引擎核心技术解析

智能预处理动态权重&#xff1a;Anything to RealCharacters 2.5D转真人引擎核心技术解析 1. 从二次元到三次元&#xff1a;一个引擎的诞生 你有没有想过&#xff0c;自己珍藏的二次元老婆或者某个酷炫的动漫角色&#xff0c;如果变成真人会是什么样子&#xff1f;是五官更立…...

效率提升秘籍:用快马AI自动生成9·1免费素材的可复用组件

效率提升秘籍&#xff1a;用快马AI自动生成91免费素材的可复用组件 最近在做一个需要整合大量91免费素材的项目&#xff0c;发现每次都要手动编写重复的展示代码&#xff0c;效率实在太低。经过一番摸索&#xff0c;我找到了用快马平台快速生成可复用组件的方法&#xff0c;效…...

用快马ai快速原型一个永久在线crm网站,验证你的产品思路

最近在验证一个CRM产品的市场可行性&#xff0c;需要快速搭建一个能永久在线的基础原型。传统开发流程从环境搭建到功能实现至少需要一周&#xff0c;而通过InsCode(快马)平台的AI辅助&#xff0c;我用不到半天就完成了核心功能验证。以下是具体实践过程&#xff1a; 明确最小可…...

免费音频编辑终极指南:Audacity 4 让专业音频处理触手可及

免费音频编辑终极指南&#xff1a;Audacity 4 让专业音频处理触手可及 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity 你是否曾经想要编辑音频却苦于没有合适的工具&#xff1f;或者被昂贵复杂的专业软件吓退&…...

深度解析:数据挖掘核心任务与实战应用场景

深度解析&#xff1a;数据挖掘核心任务与实战应用场景前言一、数据挖掘核心定义二、数据挖掘标准执行流程&#xff08;CRISP-DM 流程图&#xff09;流程节点说明&#xff1a;三、数据挖掘的主要任务&#xff08;6大核心分类&#xff09;1. 分类分析&#xff1a;预测已知类别2. …...