leetcode 122 买卖股票的最佳时机||(动态规划解法)

题目分析

题目描述的已经十分清楚了,不做过多阐述

算法原理

状态表示

我们假设第i天的最大利润是dp[i]

我们来画一下状态机

有两个状态,买入后和卖出后,我们就可以使用两个dp表来解决问题

f[i]表示当天买入后的最大利润

g[i]表示当天卖出后的最大利润

状态转移方程

由状态机可以看出,

买入后,当天如果不卖出,最大利润为前一天买入的最大利润f[i-1],

同理,卖出后,当天如果不买入,最大利润为前一天卖出后的最大利润g[i-1],

如果前一天处于买入状态,当天卖出,最大利润为f[i-1]+p[i],

同理,如果前一天处于卖出状态,当天买入,最大利润为g[i-1]-p[i]

            f[i]=max(f[i-1],g[i-1]-prices[i-1]);

            g[i]=max(g[i-1],f[i-1]+prices[i-1]);

初始化

f[0]初始化为-p[0],

在第 0 天买入股票,这时候利润是 -prices[0]

g[0]初始化为0,

在第 0 天不持有股票,这时候利润是 0,因为我们还没有进行任何操作。

填表

必须从左向右填写,需要与当天的股票价格相匹配

确定返回值

结合题目要求+状态要求

本题返回g[n]

解法

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        //创建dp表
        //初始化
        //填表
        //返回值
        int n=prices.size();
        vector<int> f(n+1);
        auto g=f;
        f[0]=-prices[0];
        
        for(int i=1;i<=n;i++)
        {
            f[i]=max(f[i-1],g[i-1]-prices[i-1]);
            g[i]=max(g[i-1],f[i-1]+prices[i-1]);
        }

        return g[n];
    }
};

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

技术探索:如何利用合合信息智能文档处理提升审查效率

官.网地址&#xff1a;合合TextIn - 合合信息旗下OCR云服务产品 智能文档处理技术是一系列技术的集合&#xff0c;旨在自动化地捕获、理解、处理和分析文档内容&#xff0c;以支持企业的数字化转型和提升文档处理效率。 智能文档处理技术的核心包括光学字符识别&#xff08;O…

如何最简单的方式使用nodejs中的http-server发布轻量级的html网页

1、查看nodejs是否安装。 node 2、设置环境路径。 3、使用npm install http-server -g安装http-server >npm install http-server -g 5、启动http-server服务,查看是否正确安装。 http-server 6、查看是否能够正常运行。 5、创建文件夹&#xff0c;复制html、css、js、in…

丰臣秀吉-读书笔记五

如今直面自己一生中的最高点&#xff0c;加之平日里的觉悟与希冀&#xff0c;此时此地他“一定要死得其所”。 “武士之道&#xff0c;便是在死的瞬间决定一生或华或实。一生谨慎、千锤百炼&#xff0c;如果在死亡这条路上一步走错&#xff0c;那么一生的言行便全部失去真意&am…

【网络安全的神秘世界】文件上传、JBOSS、Struct漏洞复现

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 攻防环境搭建及漏洞原理学习 Kali安装docker 安装教程 PHP攻防环境搭建 中间件介绍 介于应用系统和系统软件之间的软件。…

Doris支持中文字段的DDL语句【手把手】

Doris支持中文字段的DDL语句 问题&#xff1a; 在使用Doris作为数仓时&#xff0c;在加工数据时不能创建【带有中文字段】的table&#xff0c;查了好多资料&#xff0c;基本找不到答案&#xff01;&#xff01; 创建语句如下 CREATE TABLE IF NOT EXISTS test_chinese( id …

穿越时空的金星奥秘:揭秘古代天文学的惊人成就

在浩瀚的历史长河中&#xff0c;人类对宇宙的探索从未停止。而在中国古代&#xff0c;一项惊人的天文发现&#xff0c;至今仍让世界为之惊叹。那就是西汉时期的《五星占》&#xff0c;一部揭示金星会合周期的珍贵文献&#xff0c;其精确度之高&#xff0c;足以令现代天文学家瞠…

Jetpack Compose_Alignment对其+Arrangement排列

文章目录 1.Alignment 对齐1.1Alignment 对齐方式1.2AbsoluteAlignment 绝对对齐1.3BiasAlignment 偏差对齐1.4BiasAbsoluteAlignment偏差绝对对齐 2.Arrangement 排列2.1Arrangement 排列方式2.2Arrangement.Horizontal2.3Arrangement.Vertical 1.Alignment 对齐 1.1Alignmen…

干货满满!亚信安慧亮相PostgreSQL峰会,分享AntDB数据库国产化运维之路

6月15日&#xff0c;PostgreSQL数据库技术峰会广州站圆满落幕。峰会上&#xff0c;亚信安慧数据库智能运维产品负责人李志龙带来了《AntDB数据库运维之路》的主题演讲。如何用好数据是企业数智化转型的重点&#xff0c;更智能的数据管理&#xff0c;在促进数据要素流转&#xf…

用python绘制三维条形图

用python绘制三维条形图 三维条形图特点与用途 效果代码 三维条形图 三维条形图是一种在三维空间中表示数据的方法&#xff0c;它通过垂直或水平的条形长度来显示类别之间的差异。与传统的二维条形图相比&#xff0c;三维条形图增加了深度或高度的维度&#xff0c;使得数据可视…

热门开源项目vuetify框架推荐

热门开源项目推荐 Vuetify是Vue.js的一个语义化组件框架&#xff0c;旨在提供整洁、语义化和可重用的组件&#xff0c;使得构建Vue.js应用程序更加便捷。以下是关于Vuetify的使用方法的简要概述&#xff1a; 1. Vuetify的特点 语义化&#xff1a;Vuetify充分利用Vue.js的功能…

电脑蓝屏修复|你的设备遇到问题,需要重启。我们只收集某些错误信息,然后为你重新启动。100% 完成 终止代码: 0xc000021a

问题描述 今天莫名其妙电脑打不开了&#xff0c;一直如上图所示蓝屏&#xff0c;重启也不行 问了某电脑店的客服&#xff0c;说修复需要50元&#xff0c;真黑啊&#xff0c;果断自己搜方法&#xff0c;怒省50大洋hh 修复方法 重启电脑三次&#xff0c;第三次触发电脑的自动修…

2024广东省职业技能大赛云计算赛项实战——OpenStack搭建

OpenStack搭建 前言 搭建采用双节点安装&#xff0c;即controller控制节点和compute计算节点。 CentOS7 系统选择 2009 版本&#xff1a;CentOS-7-x86_64-DVD-2009.iso 可从阿里镜像站下载&#xff1a;https://mirrors.aliyun.com/centos/7/isos/x86_64/ OpenStack使用竞赛培…

免费分享:2021中亚大湖区数据库-地下水矿化度(附下载方法)

中亚大湖区位于欧亚大陆核心&#xff0c;其脆弱的生态系统在干旱与半干旱气候下对干旱变化极为敏感&#xff0c;易引发一系列生态问题。因此&#xff0c;利用站点观测数据、卫星遥感产品和模型模拟等多源技术深入研究该区域生态环境&#xff0c;对于保护其生态平衡和可持续发展…

真实还原汽车引擎声浪——WT2003Hx语音芯片方案

PART.01 产品市场 WT2003Hx是一款高性能的MP3音频解码芯片&#xff0c;具有成本效益、低功耗和高可靠性等特点&#xff0c;适用于多种场景&#xff0c;包括但不限于汽车娱乐系统、玩具、教育设备以及专业音响设备等。在模拟汽车引擎声的应用中&#xff0c;这一芯片的特性被特…

Marin说PCB之如何在CST仿真软件中添加三端子的电容模型?

上期文章小编我给诸位道友们分享了Murata家的三端子电容的一些特性&#xff0c;这期文章接着上回把三端子电容模型如何在CST软件中搭建给大家分享一下&#xff0c;小编我辛辛苦苦兢兢业业的给各位帖子们免费分享我的一些设计心得&#xff0c;这些按照小编我华山派门派的要求都是…

人脸识别——可解释的人脸识别(XFR)人脸识别模型是根据什么来识别个人的

可解释性人脸识别&#xff08;XFR&#xff09;&#xff1f; 人脸识别有一个任务叫1:N&#xff08;识别&#xff09;。这个任务将一个人的照片与N张注册照片进行比较&#xff0c;找出相似度最高的人。 这项任务用于刑事调查和出入境点。在犯罪调查中&#xff0c;任务从监控摄像…

音频基础知识和音频指标

音频基础知识 声音 声音&#xff08;sound)是由物体振动产生的声波。物体在一秒钟之内振动的次数叫做频率&#xff0c;单位是赫兹&#xff0c;字母Hz。人耳可以识别的声音频率在 20 Hz~20000 Hz之间&#xff1b; 声音三要素&#xff1a; 响度 响度&#xff0c;…

昨天gitee网站访问不了,开始以为电脑哪里有问题了

昨天gitee网站下午访问不了&#xff0c;开始以为是什么毛病。 结果同样的网络&#xff0c;手机是可以访问的。 当然就ping www.gitee.com 结果也下面那样是正常的 以为是好的&#xff0c;但就是访问www.gitee.com也是不行&#xff0c;后来用阿里云的服务器curl访问是下面情况&…

芯片制作流程

1、系统需求-》设计-》光罩-》芯片制造-》检测-》封装-》测试。 光罩-》光阻涂布-》曝光-》显影和烘烤-》刻蚀-》等离子体去胶-》湿法刻蚀 化学机械研磨-》薄膜沉积-》制作金属薄膜-》化学气相沉积-》离子注入

2023数A题——WLAN网络信道接入机制建模

A题——WLAN网络信道接入机制建模 思路&#xff1a;该题主要考察的WLAN下退避机制建模仿真。 资料获取 问题1&#xff1a; 假设AP发送包的载荷长度为1500Bytes&#xff08;1Bytes 8bits&#xff09;&#xff0c;PHY头时长为13.6μs&#xff0c;MAC头为30Bytes&#xff0c;MA…