@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
Day50、动态规划(包含题目 ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV )
123.买卖股票的最佳时机III
题目描述
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。
题目解答
int maxProfit(int* prices, int pricesSize) {int**dp=(int*)malloc(sizeof(int*)*2);for(int i=0;i<2;i++){dp[i]=(int*)malloc(sizeof(int)*pricesSize);}dp[0][0]=0;dp[1][0]=-prices[0];for(int i=1;i<pricesSize;i++){dp[0][i]=fmax(dp[0][i-1],dp[1][i-1]+prices[i]);dp[1][i]=fmax(dp[1][i-1],-prices[i]);}return dp[0][pricesSize-1];
}
题目总结
买卖股票。
188.买卖股票的最佳时机IV
题目描述
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
题目解答
int maxProfit(int* prices, int pricesSize) {int** dp=(int**)malloc(sizeof(int*)*2);for(int i=0;i<2;i++){dp[i]=(int*)malloc(sizeof(int)*pricesSize);}dp[0][0]=-prices[0];dp[1][0]=0;for(int i=1;i<pricesSize;i++){dp[0][i]=fmax(dp[0][i-1],dp[1][i-1]-prices[i]);dp[1][i]=fmax(dp[1][i-1],dp[0][i-1]+prices[i]);}return dp[1][pricesSize-1];
}
题目总结
dp[i][0] 表示第i天持有股票所得现金。dp[i][1] 表示第i天不持有股票所得最多现金。第i-1天就持有股票,那么就保持现状,所得现金就是昨天持有股票的所得现金 即:dp[i - 1][0]。第i天买入股票,所得现金就是昨天不持有股票的所得现金减去 今天的股票价格 即:dp[i - 1][1] - prices[i]。
相关文章:
@ 代码随想录算法训练营第8周(C语言)|Day53(动态规划)
代码随想录算法训练营第8周(C语言)|Day53(动态规划) Day50、动态规划(包含题目 ● 123.买卖股票的最佳时机III ● 188.买卖股票的最佳时机IV ) 123.买卖股票的最佳时机III 题目描述 给定一个数组 price…...
算法-矩阵置零
1、题目来源 73. 矩阵置零 - 力扣(LeetCode) 2、题目描述 给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1…...
xilinx除法器的使用
平台:Vivado2018.3. 芯片:xcku115-flva1517-2-i (active) 最近学习使用了xilinx除法器,在使用过程中出现了很多次除法器的结果和我预计的结果不一致,特此记录学习一下。 参考文件:pg151.下载地址 pg151-div-gen.pdf …...
算法沉淀——递归(leetcode真题剖析)
算法沉淀——递归 01.汉诺塔问题02.合并两个有序链表03.反转链表04.两两交换链表中的节点05.Pow(x, n) 递归是一种通过调用自身的方式来解决问题的算法。在递归算法中,问题被分解为更小的相似子问题,然后通过对这些子问题的解进行组合来解决原始问题。递…...
BERT模型中的input_ids和attention_mask参数
一、概述 1.1 input_ids 在BERT模型及其衍生体中,输入文本首先经过一个分词处理流程,其中文本被细分为单词或子单词(subwords),每个分词随后映射到一个唯一的整数标识符。这些标识符组成了所谓的input_ids数组&#x…...
java+vue_springboot企业设备安全信息系统14jbc
企业防爆安全信息系统采用B/S架构,数据库是MySQL。网站的搭建与开发采用了先进的java进行编写,使用了vue框架。该系统从三个对象:由管理员、人员和企业来对系统进行设计构建。主要功能包括:个人信息修改,对人员管理&am…...
vulhub中Apache Log4j Server 反序列化命令执行漏洞复现(CVE-2017-5645)
Apache Log4j是一个用于Java的日志记录库,其支持启动远程日志服务器。Apache Log4j 2.8.2之前的2.x版本中存在安全漏洞。攻击者可利用该漏洞执行任意代码。 1.我们使用ysoserial生成payload,然后直接发送给your-ip:4712端口即可。 java -jar ysoserial-…...
基于python+django+vue.js开发的医院门诊管理系统/医疗管理系统
功能介绍 平台采用B/S结构,后端采用主流的Python语言进行开发,前端采用主流的Vue.js进行开发。 功能包括:医生管理、科室管理、护士管理、住院管理、药品管理、用户管理、日志管理、系统信息模块。 源码地址 https://github.com/geeeeeee…...
Linux文件系统笔记
文章目录 FILE SYSTEM软硬链接 动静态库 使用别人提供的库 FILE SYSTEM 文件的管理工作: 1.基础知识: 文件 属性 内容不是所有文件都会打开所有的打开的,未打开的文件会进行管理未打开文件,要能做到快速定位文件磁盘–物理存…...
vue封装el-table表格组件
先上效果图: 本文包含了具名插槽、作用域插槽、jsx语法三种: Render.vue(很重要,必须有): <script> export default {name: "FreeRender",functional: true,props: {scope:Object,render: Functio…...
「Python系列」Python数据结构
文章目录 一、数据结构二、相关链接 一、数据结构 Python提供了多种内置的数据结构,这些数据结构在编程中非常有用。以下是Python中常见的一些数据结构: 列表(List): 列表是Python中最常用的数据结构之一,它是一个有…...
MySQL多实例部署:从概念到实操的全面指南
目录 MySQL多实例管理 单实例 什么是多实例 多实例的好处 多实例的弊端 MySQL多实例用在哪些场景 资金紧张的公司 用户并发访问量不大的业务 大型网站也有用多实例 部署MySQL多实例 rpm和源码的优缺点 二进制方式安装mysql 准备二进制mysql运行所需的环境 准备多…...
C++学习Day07之虚函数和纯虚函数
目录 前言一、程序及输出1.1 虚函数1.2 纯虚函数1.2.1 定义、示例1.2.2 引入原因1.2.3 抽象类 二、分析与总结 前言 在 C 中,虚函数和纯虚函数是实现多态性的重要概念。虚函数是在基类中声明为虚函数的函数,在派生类中可以被重写,实现动态联…...
GZ036 区块链技术应用赛项赛题第9套
2023年全国职业院校技能大赛 高职组 “区块链技术应用” 赛项赛卷(9卷) 任 务 书 参赛队编号: 背景描述 随着异地务工人员的增多,房屋租赁成为一个广阔是市场;目前,现有技术中的房屋租赁是由…...
微服务—RabbitMQ高级(延迟消息)
本博客为个人学习笔记,学习网站:2023黑马程序员RabbitMQ入门到实战教程 高级篇章节 目录 延迟消息 死信交换机 延迟消息插件 下载安装 延迟交换机声明 编辑 发送延迟消息 订单状态同步问题 延迟消息 在电商的支付业务中,对于一些库…...
香港服务器如何取消windows的自动更新
大家用过电脑的人对windows系统的自动更新应该都不会陌生,其实香港服务器的使用也是一样的方法。为什么要对香港服 务器windows的自动更新进行关闭呢?其主要原因在于,有些更新是不能更新,一更新话,系统反而会变得不稳定…...
kali虚拟机桥接模式快速设置
第一步:选择 虚拟机 > 设置 > 虚拟机设置,设置桥接模式 不选择复制物理网络连接状态选项: 如果采用DHCP的方式来分配IP地址,当电脑网络从有线或无线网络之间进行移动时,DHCP会重新分配ip地址,即虚拟机…...
「连载」边缘计算(十五)02-18:边缘部分源码(源码分析篇)
(接上篇) ChannelContext struct定义如下所示。 KubeEdge/beehive/pkg/core/context/context.go // ChannelContext is object for Context channel type ChannelContext struct { //ConfigFactory goarchaius.ConfigurationFactory channels map[…...
MySQL性能调优篇(8)-NoSQL与MySQL的比较
MySQL数据库是一种关系型数据库,而NoSQL是一种非关系型数据库。它们在数据存储和处理方式、数据模型和可扩展性等方面存在一些明显的差异。本文将对MySQL数据库和NoSQL进行比较,并介绍它们的优势和劣势。 首先,MySQL使用表格的形式来存储数据…...
【Linux学习】线程池
目录 23.线程池 23.1 什么是线程池 23.2 为什么需要线程池 23.3 线程池的应用场景 23.4 实现一个简单的线程池 23.4.1 RAII风格信号锁 23.4.2 线程的封装 23.4.3 日志打印 22.4.4 定义队列中存放Task类任务 23.4.5 线程池的实现(懒汉模式) 为什么线程池中需要有互斥锁和条件变…...
Ollama拉取模型遇EOF重试上限?从网络到缓存的深度排错指南
1. 遇到EOF重试上限错误时的心态调整 第一次看到"Error: max retries exceeded: EOF"这个报错时,我正坐在电脑前准备测试一个新的大语言模型。说实话,这个错误信息让我有点懵——它既没有明确告诉我哪里出了问题,也没给出具体的解决…...
如何将B站碎片化缓存视频合并为完整MP4?这个Android工具给你答案
如何将B站碎片化缓存视频合并为完整MP4?这个Android工具给你答案 【免费下载链接】BilibiliCacheVideoMerge 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliCacheVideoMerge 想象一下这样的场景:你在地铁上打开手机,准备观看…...
2025最权威的六大降AI率神器横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对维普系统而言,在检测AI生成内容之际,它能够凭借多种办法来降低相似…...
利用快马平台快速构建winner1300高性能计算原型:三步实现并行矩阵乘法
今天想和大家分享一个利用高性能计算框架winner1300快速构建并行矩阵乘法原型的实践过程。这个案例特别适合需要验证算法性能的场景,而借助InsCode(快马)平台的便利性,整个过程变得异常高效。 winner1300框架简介与环境搭建 winner1300是一个专为高性能…...
MATLAB车道偏离检测,车道线检测 用于检测车道线并计算车辆的偏离率
MATLAB车道偏离检测,车道线检测这段程序主要是对图像进行处理和分析,用于检测车道线并计算车辆的偏离率。下面我将逐步解释代码的功能和工作流程。首先,程序进行了一些初始化操作,定义了一些变量,并读取了一张图片。接…...
探索Ryujinx:在PC上免费畅玩Switch游戏的完整指南
探索Ryujinx:在PC上免费畅玩Switch游戏的完整指南 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 你是否曾梦想在电脑上体验《塞尔达传说:王国之泪》的壮丽冒险…...
新手福音:通过快马平台零代码基础创建你的第一个workbuddy任务管理应用
作为一个刚接触编程的新手,想要自己动手做一个任务管理应用却不知从何下手?最近我发现了一个超友好的工具——InsCode(快马)平台,完全零基础就能做出一个功能完整的workbuddy任务管理器。下面分享我的实践过程,希望能帮到同样想入…...
开源字体工具FontForge:从设计新手到专业创作者的全流程指南
开源字体工具FontForge:从设计新手到专业创作者的全流程指南 【免费下载链接】fontforge Free (libre) font editor for Windows, Mac OS X and GNULinux 项目地址: https://gitcode.com/gh_mirrors/fo/fontforge 你是否曾为找不到匹配项目风格的字体而苦恼&…...
【无标题】视频号下载神器来了!可指定视频下载,支持批量解析下载
我用夸克网盘给你分享了「链接:https://pan.quark.cn/s/46da937e05b8支持下载指定视频支持批量下载视频支持下载直播视频支持识别已经下载过的视频,不重复下载...
3个颠覆性突破让开源系统硬件适配效率提升16倍:OpCore-Simplify技术解密
3个颠覆性突破让开源系统硬件适配效率提升16倍:OpCore-Simplify技术解密 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 问题溯源…...
