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

算法练习第五十天|123.买卖股票的最佳时机III、188.买卖股票的最佳时机IV

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

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

class Solution {public int maxProfit(int[] prices) {//dp[i][j] 第i天买卖股票获得的最大利润/**j=0不操作j=1第一次持有j=2第一次不持有j=3第二次持有j=4第二次不持有dp[i][0] = dp[i-1][0]dp[i][1] = max(dp[i-1][1],dp[i-1][0] - price[i])dp[i][2] = max(dp[i-1][2],dp[i-1][1] + price[i])dp[i][3] = max(dp[i-1][3],dp[i-1][2] - price[i])dp[i][4] = max(dp[i-1][4],dp[i-1][3] + price[i])*/if (prices.length == 0) return 0;int[][] dp = new int[prices.length][5];dp[0][0] = 0;dp[0][1] = -prices[0];dp[0][2] = 0;dp[0][3] = -prices[0];dp[0][4] = 0;for(int i = 1;i<prices.length;i++){dp[i][0] = dp[i-1][0];dp[i][1] = Math.max(dp[i-1][1],dp[i-1][0] - prices[i]);dp[i][2] = Math.max(dp[i-1][2],dp[i-1][1] + prices[i]);dp[i][3] = Math.max(dp[i-1][3],dp[i-1][2] - prices[i]);dp[i][4] = Math.max(dp[i-1][4],dp[i-1][3] + prices[i]);}return Math.max(dp[prices.length-1][2],dp[prices.length-1][4]);}
}

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

class Solution {public int maxProfit(int k, int[] prices) {//dp[i][j] 第i天买卖股票获得的最大利润/**j=0不操作j=1第一次持有j=2第一次不持有j=3第二次持有j=4第二次不持有............j=2k 第k次不持有dp[i][0] = dp[i-1][0]dp[i][1] = max(dp[i-1][1],dp[i-1][0] - price[i])dp[i][2] = max(dp[i-1][2],dp[i-1][1] + price[i])dp[i][3] = max(dp[i-1][3],dp[i-1][2] - price[i])dp[i][4] = max(dp[i-1][4],dp[i-1][3] + price[i]).。。。。。。dp[i][2k] = max(dp[i-1][2k],dp[i-1][2k-1] + price[i])*/if (prices.length == 0) return 0;int[][] dp = new int[prices.length][2*k+1];// dp数组的初始化for (int i = 1; i < k*2; i += 2) {dp[0][i] = -prices[0];}for(int i = 1;i<prices.length;i++){for(int j= 0;j<2*k;j+=2){//dp[i][j] = dp[i-1][j];dp[i][j+1] = Math.max(dp[i-1][j+1],dp[i-1][j] - prices[i]);dp[i][j+2] = Math.max(dp[i-1][j+2],dp[i-1][j+1] + prices[i]);}}return dp[prices.length-1][2*k];}
}
http://www.lryc.cn/news/337094.html

相关文章:

  • 细胞世界:4.细胞分化(划区域)与细胞衰老(设施磨损)
  • c语言:操作符
  • 谷歌seo自然搜索排名怎么提升快?
  • Golang | Leetcode Golang题解之第13题罗马数字转整数
  • 说说我理解的数据库中的Schema吧
  • nginx 如何对用户屏蔽网站首页但是对蜘蛛开放
  • 【vue】ref 和 reactive 对比
  • 爬虫现在还有那么吃香嘛?
  • MobaXterm无法登陆oracle cloud的问题
  • VLL: a lock manager redesign for main memory database systems阅读
  • REST API实战演练之JavaScript使用Rest API
  • 期货量化交易软件:MQL5 中的范畴论 (第 15 部分)函子与图论
  • 2024妈妈杯数学建模B题思路-甲骨文智能识别中原始拓片单字自动分割与识别研究
  • sql 之 索引
  • 创建基于Node的WebSocket服务
  • Flask快速搭建文件上传服务与接口
  • AI算力报告:算力大时代,AI算力产业链全景梳理
  • 点击上传文件
  • 文件上传【2】--靶场通关
  • uniapp请求后端接口
  • 第十三章 OpenGL ES-RGB、HSV、HSL模型介绍
  • 微软卡内基梅隆大学:无外部干预,GPT4等大语言模型难以自主探索
  • 探索设计模式的魅力:简单工厂模式
  • 【数据结构】-----双链表(小白必看!!!)
  • 【数据结构】考研真题攻克与重点知识点剖析 - 第 8 篇:排序
  • 数字乡村可视化大数据-DIY拖拽式设计
  • 数据集学习
  • 【解决】npm run dev Syntax Error: TypeError: eslint.CLIEngine is not a constructor
  • Android 如何通过屏幕大小来适配不同大小的图片
  • 【面试题】细说mysql中的各种锁