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

股票问题(至多两次购买

class Solution {public int maxProfit(int[] prices) {int[] dp=new int[4];dp[0]=-prices[0];//第一次持有dp[1]=0;dp[2]=-prices[0];//第二次持有dp[3]=0;for(int i=1;i<prices.length;i++){dp[0]=Math.max(dp[0],-prices[i]);dp[1]=Math.max(dp[1],dp[0]+prices[i]);dp[2]=Math.max(dp[2],dp[1]-prices[i]);dp[3]=Math.max(dp[3],dp[2]+prices[i]);}return dp[3];}
}

k次买卖,两个维度的初始化,第一天买卖初始化,以及dp[0-1]的初始化,这样才能写j的递推

因为i和j都是变量,所以要有两个初始化

class Solution {public int maxProfit(int k, int[] prices) {int[] dp=new int[2*k];//持有和不持有状态int len=prices.length;for(int i=0;i<=2*k-1;i+=2){dp[i]=-prices[0];//第一天买入情况,初始化}for(int i=1;i<len;i++){dp[0]=Math.max(dp[0],-prices[i]);//第i天的初始化dp[1]=Math.max(dp[1],dp[0]+prices[i]);for(int j=2;j<=2*k-1;j+=2){dp[j]=Math.max(dp[j],dp[j-1]-prices[i]);//持有dp[j+1]=Math.max(dp[j+1],dp[j]+prices[i]);//不持有}}return dp[2*k-1];}
}

http://www.lryc.cn/news/346365.html

相关文章:

  • 车辆运动模型中LQR代码实现
  • Springboot集成feign远程调用
  • 构建NFS远程共享存储
  • X9C103SIZT1 数字电位计 IC 10K SOIC-8 参数 应用案例
  • redis深入理解之数据存储
  • 用20行python写一个最简单的网站
  • 零基础入门篇①③ Python可变序列类型--列表
  • 微服务项目 - SpringBoot 2.x 升级到 SpringBoot 3.2.5,保姆级避坑
  • 【2024亚马逊云科技峰会】Amazon Bedrock + Llama3 生成式AI实践
  • ApacheCordova 12 +Vs 2022 项目搭建教程_开发环境搭建教程
  • 地磁暴红色预警来袭,普通人该如何应对?绝绝子的防护指南来了
  • 从零自制docker-12-【overlayfs】
  • 凸优化理论学习一|最优化及凸集的基本概念
  • 【R语言从0到精通】-4-回归建模
  • 论文 学习 Transformer : Attention Is All You Need
  • 工厂模式+策略模式
  • TMS320F28335学习笔记-时钟系统
  • 【Apache POI】Apache POI-操作Excel表格-简易版
  • MySQL系列之索引
  • 【问题分析】锁屏界面调起google语音助手后壁纸不可见【Android 14】
  • Java入门基础学习笔记8——注释
  • 上班工资太低了,哪些副业可以多赚钱?
  • 原子学习笔记4——GPIO 应用编程
  • 查看iqn编码
  • 如何安全的使用密码登录账号(在不知道密码的情况下)
  • 软件需求和设计评审
  • 论文笔记ColdDTA:利用数据增强和基于注意力的特征融合进行药物靶标结合亲和力预测
  • 如何防止WordPress网站内容被抓取
  • 全球化战略中的技术支柱:出海企业的网络技术解决方案
  • 在Linux上安装并运行RabbitMQ