算法训练营第三十九天(8.30)

2023-10-31

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

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

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

题目地址:力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目类型:股票问题

class Solution {
public:
    int maxProfit(vector<int>& prices) {
        int n = prices.size();
        // dp[i][j]代表在第i的状态为j
        // j取值:0还没买过股票,1持有第一只股票,2卖出第一支股票,3持有第二支股票,4卖出第二支股票
        vector<vector<int>> dp(n, vector<int>(5));
        dp[0][1] = -prices[0];
        dp[0][3] = -prices[0];
        for (int i = 1; i < n; ++i) {
            dp[i][1] = max(dp[i - 1][0] - prices[i], dp[i - 1][1]);
            dp[i][2] = max(dp[i - 1][1] + prices[i], dp[i - 1][2]);
            dp[i][3] = max(dp[i - 1][2] - prices[i], dp[i - 1][3]);
            dp[i][4] = max(dp[i - 1][3] + prices[i], dp[i - 1][4]);
        }
        return dp[n - 1][4];
    }
};

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

题目地址:​​​​​​​力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台

题目类型:股票问题

class Solution {
public:
    int maxProfit(int k, vector<int>& prices) {
        int n = prices.size();
        vector<vector<int>> dp(n, vector<int>(2 * k + 1, 0));
        for (int i = 1; i < 2 * k; i += 2) {
            dp[0][i] = -prices[0]; 
        }
        for (int i = 1; i < n; ++i) {
            for (int j = 1; j < 2 * k; j += 2) {
                dp[i][j] = max(dp[i - 1][j - 1] - prices[i], dp[i - 1][j]);
                dp[i][j + 1] = max(dp[i - 1][j] + prices[i], dp[i - 1][j + 1]);
            }
        }
        return dp[n - 1][2 * k];
    }
};

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

算法训练营第三十九天(8.30) 的相关文章

  • 有关宽字符wchar_t编码方式的问题

    在工程文件时 常常遇到字符乱码的问题 查了下 归结于宽字符wchar t和窄字符char的区别 简单说下这两者之间的区别 1 char是8bit数据 能表示ASCII码中前256个字符 包括前128个可见字符和后128个不可见字符 2 wc
  • 小谈Hibernate下SQL Grammer Exception,Could not execute JDBC batch update异常的解决

    基于Hibernate的应用程序的开发过程中 通过Hibernate操作数据库时 在程序执行过程中出现了SQL Grammer Exception Could not execute JDBC batch update的提示信息 遇到此类问
  • tocmat 7.0.47 集成solr4.10.3

    所需工具 下载solr4 10 3链接地址 待补充 下载tomcat7 0 47链接地址 待补充 方法步骤 1 解压solr4 10 3 到任意盘符 2 复制solr war 到tomcat 的webapps 目录中 如图所示操作 3 启动
  • Python深度学习篇三《神经网络入门》

    前言 前期回顾 Python深度学习篇二 神经网络的数学基础 上面这篇里面写了深度学习的所需的基础知识 好 接下来切入正题 本章的目的是让你开始用神经网络来解决实际问题 你将进一步巩固在第2 章第一个示例 中学到的知识 还会将学到的知识应用

随机推荐

  • react报错 Warning: React.createElement: type is invalid . ..

    报错说我可能类名定义错误或引入错误 我找了好久的原因都没有找到 因为我的输出是这样的 const mapStateToProps createProjectModal organization gt loading let current
  • python发送文件到邮箱_在Python中保存到.msg文件,或者将邮件发送到文件系统

    是的 这是可能的 有用于这些目的的模块 称为MSG PY 例如 from independentsoft msg import Message from independentsoft msg import Recipient from i
  • 关于字符串池存储的是引用还是对象的争议

    目前关于字符串池 字符串常量池 在内存区域的位置大家都是没有争议的 JDK1 7以后 字符串池在堆里 但是字符串池里存储的内容有2种说法 一种是JavaGuide为主的 认为字符串池里既存了引用也存了对象 另一种是以R大为主的认为字符串池存
  • Python——解决小球从100米高度自由落下再反弹问题

    题目 一小球从100米高度自由落下 每次落地后反跳回原高度的一半 再落下 求它在 第10次落地时 共经过多少米 第10次反弹多高 需要在提交界面中运行结果 输出格式 小球一共经过了299 61米 第10次的高度0 20米 代码 h 100
  • 2023美赛ABCDEF各赛题思路浅析

    2023美赛 MCM ICM 如期开赛 为了尽早的帮大家确定选题 这里我们加急为大家编辑出2023美赛 MCM ICM 赛题浅评 方便大家快速对各个题目的难度有个大致的了解 同时 我们也给出了各个题目简要的解题思路 以及该问题在实际解决中可
  • 通俗易懂说单链表(2)链表/环长度、有环,环入口

    通俗易懂说单链表 2 链表 环长度 有环 环入口 1 单链表长度 2 单链表是否有环 2 1 思想 2 2 代码实现 3 单链表环入口 3 1 思想 3 1 1 证明 3 2 代码实现 4 单链表环长度 4 1 思想 4 2 代码实现 5
  • android open gl es error:"called unimplemented OpenGL ES API";

    libEGL called unimplemented OpenGL ES API 1 导致这个问题的原因是manifest中申请的gles版本
  • C++ primer Plus(第六版)第二章 开始学习C++ 章节编程练习答案

    1 编写一个C 程序 它显示您的姓名和地址 完成如下 2 编写一个C 程序 它要求用户输入一个以long为单位的距离 然后将它转化为码 一long为220码 完成如下 3 编写一个C 程序 它使用3个用户定义的函数 包括main 并生成下面
  • 使用SourceTree将本地项目推送至GitLab

    背景 正常一般是先在 GitLab 上建好项目 然后再通过 SourceTree 克隆到本地 但有时候忘记了 直接在本地新建了项目 这个时候想把本地项目也放到 GitLab 上托管 步骤 1 在GitLab上新建一个项目 添加一个READM
  • 前端页面适配之postcss-px-to-viewport

    一 简介 postcss px to viewport 是一个 PostCSS 插件 用于将 CSS 中的 px 单位转换为 vw 或 vh 单位 它可以帮助我们实现在不同屏幕尺寸下的自适应布局 以提高页面的响应性和可用性 二 postcs
  • keil遇到FCARM - Output Name not specified, please check 'Options for Target - Utilities'解决方法

    近期又开始复活学ARM 结果以前很容易就编译通过的事竟然出现意外 提示 FCARM Output Name not specified please check Options for Target Utilities 原因是加载文件时为了
  • Netty的客户端使用Socks5代理,netty-handler-proxy源码浅析

    目录 前言 使用 源码浅析 版本 目录结构 ProxyHandler Socks5ProxyHandler socks5代理服务 待续 前言 需求的出发点是这样 一个netty代理服务 里面有netty服务端 ServerBootstrap
  • 通用路由封装协议--GRE的简单配置

    基于华为设备简单配置GRE GRE 通用路由封装协议 一 GRE是什么 二 GRE有什么用 1 多协议本地网可以通过GRE隧道传输 2 与IPSec结合 保护组播数据 三 GRE怎么用 1 隧道接口 Tunnel接口 2 配置 参考 GRE
  • SpringBoot默认的8080端口在哪?

    配置文件中 点击port 进入到ServerProperties类 ServerProperties这个类中 读取配置文件server开头的配置 定位类文件所在位置 找到对应jar包的META INF下的json文件 端口默认值在json文
  • Spring最佳实践: 构建高效可维护的Java应用程序

    博主猫头虎 带您 Go to New World 博客首页 猫头虎的博客 面试题大全专栏 文章图文并茂 生动形象 简单易学 欢迎大家来踩踩 IDEA开发秘籍专栏 学会IDEA常用操作 工作效率翻倍 100天精通Golang 基础入门篇 学会
  • Spring 基础概念和核心思想

    目录 一 Spring 是什么 1 认识 loC 2 理解 Spring loC 3 DI 概念说明 一 Spring 是什么 我们通常所说的 Spring 指的是 Spring Framework Spring 框架 它是 个开源框架 有
  • 【廖雪峰python入门笔记】变量

    1 静态语言和动态语言中的变量表示 静态语言在定义变量时必须指定变量类型 如果赋值的时候类型不匹配 就会报错 例如Java是静态语言 赋值语句如下 int a 123 a是整数类型变量 a mooc 错误 不能把字符串赋给整型变量 和静态语
  • json-c编译及修改libjson.so动态库名称

    1 git clone https github com json c json c git 功能 获取源码 2 cd json c 功能 进入目录 3 autogen sh 功能 生成configure ac 再生成configure配置
  • 栅栏密码(Fence)——python解密

    简介 所谓栅栏密码 就是把要加密的明文分成N个一组 然后把每组的第1个字连起来 形成一段无规律的话 不过栅栏密码本身有一个潜规则 就是组成栅栏的字母一般不会太多 一般不超过30个 也就是一 两句话 实现 一般比较常见的是2栏的栅栏密码 比如
  • 算法训练营第三十九天(8.30)

    Leecode 123 买卖股票的最佳时机 III 123 买卖股票的最佳时机III 123 买卖股票的最佳时机III 题目地址 力扣 LeetCode 官网 全球极客挚爱的技术成长平台 题目类型 股票问题 class Solution p