LeetCode 刷题 [C++] 第121题.买卖股票的最佳时机
题目描述
给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。
你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。
返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。

题目分析
对题目进行分析可知,买卖股票的最佳时机是由之前买或不买的状态决定的,而之前买或不买又由更早的状态决定的。因此,可以通过动态规划的思路来分析。
- 更新前i天的最低价格;
- 由于需要使得利益最大化,因此,使用dp[i]表示前i天的最大利润;
- 且dp[i]等于dp[i−1] 和第 i天卖出的最高利润中的最大值 。
Code
class Solution {
public:int maxProfit(vector<int>& prices) {int size = prices.size();if (0 == size) {return 0;}int min_price = prices[0];vector<int> dp(size, 0);for (int i = 1; i < size; ++i) {min_price = min(min_price, prices[i]);dp[i] = max(dp[i - 1], prices[i] - min_price);}return dp[size - 1];}
};
相关文章:
LeetCode 刷题 [C++] 第121题.买卖股票的最佳时机
题目描述 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。 返回你可以从这笔交易中获取的…...
ORACLE 基础
一.ORACLE简介 1.1什么是oracle ORACLE 数据库系统是美国 ORACLE 公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或 B/S 体系结构的数据库之一。 ORACLE 通常应用于大型系统的数据库产品。…...
Adobe illustrator CEP插件调试
1.创建插件CEP面板,可以参考:http://blog.nullice.com/%E6%8A%80%E6%9C%AF/CEP-%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B/%E6%8A%80%E6%9C%AF-CEP-%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B-Adobe-CEP-%E6%89%A9%E5%B1%95%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8…...
学会玩游戏,智能究竟从何而来?
最近在读梅拉妮米歇尔《AI 3.0》第三部分第九章,谈到学会玩游戏,智能究竟从何而来? 作者: [美] 梅拉妮米歇尔 出版社: 四川科学技术出版社湛庐 原作名: Artificial Intelligence: A Guide for Thinking Humans 译者: 王飞跃 / 李玉珂 / 王晓…...
Unity 常用操作
2D素材网站 https://craftpix.net/ https://itch.io/game-assets/tag-2d/tag-backgrounds 3D素材资源网址 https://www.mixamo.com/#/ 场景常用操作: 快捷键:QWER Q:Q键或鼠标中键,可以拉动场景。 W:选中物体后&…...
【计算机网络_应用层】协议定制序列化反序列化
文章目录 1. TCP协议的通信流程2. 应用层协议定制3. 通过“网络计算器”的实现来实现应用层协议定制和序列化3.1 protocol3.2 序列化和反序列化3.2.1 手写序列化和反序列化3.2.2 使用Json库 3.3 数据包读取3.4 服务端设计3.5 最后的源代码和运行结果 1. TCP协议的通信流程 在之…...
Doris实战——银联商务实时数仓构建
目录 前言 一、应用场景 二、OLAP选型 三、实时数仓构建 四、实时数仓体系的建设与实践 4.1 数仓分层的合理规划 4.2 分桶分区策略的合理设置 4.3 多源数据迁移方案 4.4 全量与增量数据的同步 4.5 离线数据加工任务迁移 五、金融级数仓稳定性最佳实践 5.1 多租户资…...
代码随想录算法训练营第七天
● 自己看到题目的第一想法 第454题.四数相加II 方法: 方法一: 暴力法 思路: 注意: 代码: class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<i…...
文件操作和IO(2):Java中操作文件
目录 一、File的属性 二、File的构造方法 三、File的方法 四、代码示例 1、getName,getParent,getPath方法 2、getAbsolutePath,getCanonicalPath方法 3、exists,isDirectory,createNewFile方法 4、createNewF…...
人工智能-零基础
机缘 扩充下知识栈,准备零基础开始 人工智能零基础 日常 日常水一下博客… 憧憬 努力成为一个会人工智能的程序员...
网络爬虫部分应掌握的重要知识点
目录 一、预备知识1、Web基本工作原理2、网络爬虫的Robots协议 二、爬取网页1、请求服务器并获取网页2、查看服务器端响应的状态码3、输出网页内容 三、使用BeautifulSoup定位网页元素1、首先需要导入BeautifulSoup库2、使用find/find_all函数查找所需的标签元素 四、获取元素的…...
git命令笔记
文章目录 0、参考文档1、常用指令git checkout系列git pull系列git push系列git reset系列git branch系列git log系列git revert 撤销某次提交git diff其他 2、查看和修改用户名和邮箱,生成密钥other 0、参考文档 Git使用教程:最详细、最傻瓜、最浅显、…...
微服务day03-Nacos配置管理与Nacos集群搭建
一.Nacos配置管理 Nacos不仅可以作为注册中心,可以进行配置管理 1.1 统一配置管理 统一配置管理可以实现配置的热更新(即不用重启当服务发生变更时也可以直接更新) dataId格式:服务名-环境名.yaml,分组一般使用默认…...
DFS剪枝
剪枝 将搜索过程中一些不必要的部分剔除掉,因为搜索过程构成了一棵树,剔除不必要的部分,就像是在树上将树枝剪掉,故名剪枝。 剪枝是回溯法中的一种重要优化手段,方法往往先写一个暴力搜索,然后找到某些特…...
基于SpringBoot多模块项目引入其他模块时@Autowired无法注入
基于SpringBoot多模块项目引入其他模块时Autowired无法注入 一、问题描述1、解决方案 一、问题描述 启动Spring Boot项目时报 Could not autowire. No beans of ‘xxxxxxxx’ type found. 没有找到bean的实例,即spring没有实例化对象,也就无法根据配置文…...
每日一题——LeetCode1566.重复至少K次且长度为M的模式
方法一 暴力枚举 var containsPattern function(arr, m, k) {const n arr.length;for (let l 0; l < n - m * k; l) {let offset;for (offset 0; offset < m * k; offset) {if (arr[l offset] ! arr[l offset % m]) {break;}}if (offset m * k) {return true;}}r…...
代码随想录刷题笔记-Day27
1. 全排列 46. 全排列https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。 示例 1: 输入:nums [1,2,3] 输出:[[1,2,3],[1,3,2],[2,1,3],…...
【小沐学GIS】QGIS安装和入门使用
文章目录 1、简介2、下载和安装3、使用3.1 XYZ Tiles3.2 WMS / WMTS3.3 GeoJson文件加载 4、在线资源结语 1、简介 QGIS是一款开源地理信息系统。该项目于2002年5月诞生,同年6月作为SourceForge上的一个项目建立。QGIS目前运行在大多数Unix平台、Windows和macOS上。…...
黑马程序员——接口测试——day03——Postman断言、关联、参数化
目录: Potman断言 Postman断言简介Postman常用断言 断言响应状态码断言包含某字符串断言JSON数据Postman断言工作原理Postman关联 简介实现步骤核心代码创建环境案例1案例2Postman参数化 简介数据文件简介编写数据文件 CSV文件JSON文件导入数据文件到postman读取数…...
Unreal触屏和鼠标控制旋转冲突问题
Unreal触屏和鼠标控制旋转冲突问题 鼠标控制摄像机旋转添加Input轴计算旋转角度通过轴事件控制旋转 问题和原因问题原因 解决办法增加触摸控制旋转代码触屏操作下屏蔽鼠标轴响应事件 鼠标控制摄像机旋转 通过Mouse X和Mouse Y控制摄像机旋转。 添加Input轴 计算旋转角度 通过…...
7款完全免费的中文字体解决方案:思源宋体CN实战操作图谱
7款完全免费的中文字体解决方案:思源宋体CN实战操作图谱 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版不够专业而烦恼吗?Source Han Serif CN&…...
论文提速的终极秘籍!常用的AI论文软件,秒出初稿不费力
作为一名刚完成毕业论文的过来人,我太懂写论文的痛苦了 —— 选题纠结、资料收集困难、逻辑梳理不清、反复修改头疼、格式排版繁琐... 直到我发现了这套 AI 写作工具组合,简直是论文写作的 "开挂神器",效率直接翻倍,原本…...
【机密级】火山引擎内部培训材料流出:DeepSeek模型热更新+AB灰度发布架构图(含K8s Operator CRD定义与Prometheus告警阈值清单)
更多请点击: https://kaifayun.com 第一章:DeepSeek火山引擎部署概览 DeepSeek系列大模型(如DeepSeek-V2、DeepSeek-Coder)在火山引擎(VolcEngine)上的部署,依托其高性能GPU资源池、弹性伸缩能…...
LogExpert实战指南:5大核心功能深度探索Windows日志分析高效方案
LogExpert实战指南:5大核心功能深度探索Windows日志分析高效方案 【免费下载链接】LogExpert Windows tail program and log file analyzer. 项目地址: https://gitcode.com/gh_mirrors/lo/LogExpert LogExpert是一款专为Windows平台设计的图形化日志分析工具…...
Monitorian多显示器亮度管理终极指南:条件命令、定时任务与快捷键实战技巧
Monitorian多显示器亮度管理终极指南:条件命令、定时任务与快捷键实战技巧 【免费下载链接】Monitorian A Windows desktop tool to adjust the brightness of multiple monitors with ease 项目地址: https://gitcode.com/gh_mirrors/mo/Monitorian 还在为多…...
机器学习与熵工程协同设计CuCo纳米合金催化剂,实现高效硝酸盐还原制氨
1. 项目概述:当机器学习遇见熵工程,如何“算”出顶级催化剂?在材料研发这个领域里,我待了十几年,最大的感受就是“试错”两个字有多重。尤其是当我们想合成一些在宏观世界里根本“不兼容”的金属合金时,比如…...
SPT-AKI Profile Editor:终极《逃离塔科夫》离线存档编辑器完全指南
SPT-AKI Profile Editor:终极《逃离塔科夫》离线存档编辑器完全指南 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com…...
PCL2启动器微软账户登录皮肤显示问题的完整解决方案与实践指南
PCL2启动器微软账户登录皮肤显示问题的完整解决方案与实践指南 【免费下载链接】PCL Minecraft 启动器 Plain Craft Launcher(PCL)。 项目地址: https://gitcode.com/gh_mirrors/pc/PCL PCL2启动器作为一款功能强大的Minecraft第三方启动器&#…...
Obsidian PDF导出终极指南:从零开始掌握Better Export PDF插件的完整教程
Obsidian PDF导出终极指南:从零开始掌握Better Export PDF插件的完整教程 【免费下载链接】obsidian-better-export-pdf Obsidian PDF export enhancement plugin 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-better-export-pdf 在知识管理领域&a…...
3分钟让直播音质专业级:OBS-VST插件终极使用指南
3分钟让直播音质专业级:OBS-VST插件终极使用指南 【免费下载链接】obs-vst Use VST plugins in OBS 项目地址: https://gitcode.com/gh_mirrors/ob/obs-vst 你是否曾为直播时观众抱怨"声音太吵"、"听不清说话"而烦恼?或者精心…...
