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

元隆盛建设集团有限公司网站ps怎么下载永久免费版

元隆盛建设集团有限公司网站,ps怎么下载永久免费版,网站建设相关标准,设计公司logo免费目录 力扣123. 买卖股票的最佳时机 III 状态机分析 解析代码 力扣123. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 III 难度 困难 给定一个数组#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以…目录 力扣123. 买卖股票的最佳时机 III 状态机分析 解析代码 力扣123. 买卖股票的最佳时机 III 123. 买卖股票的最佳时机 III 难度 困难 给定一个数组它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意你不能同时参与多笔交易你必须在再次购买前出售掉之前的股票。 示例 1: 输入prices [3,3,5,0,0,3,1,4] 输出6 解释在第 4 天股票价格 0的时候买入在第 6 天股票价格 3的时候卖出这笔交易所能获得利润 3-0 3 。随后在第 7 天股票价格 1的时候买入在第 8 天 股票价格 4的时候卖出这笔交易所能获得利润 4-1 3 。 示例 2 输入prices [1,2,3,4,5] 输出4 解释在第 1 天股票价格 1的时候买入在第 5 天 股票价格 5的时候卖出, 这笔交易所能获得利润 5-1 4 。   注意你不能在第 1 天和第 2 天接连购买股票之后再将它们卖出。   因为这样属于同时参与了多笔交易你必须在再次购买前出售掉之前的股票。示例 3 输入prices [7,6,4,3,1] 输出0 解释在这个情况下, 没有交易完成, 所以最大利润为 0。 示例 4 输入prices [1] 输出0提示 1  prices.length 1050  prices[i]  105 class Solution { public:int maxProfit(vectorint prices) {} }; 状态机分析 以某个位置为结尾结合题目要求定义一个状态表示 由于有买入和卖出可交易两个状态因此可以选择用两个数组。但是这道题里面还有交易次数的限制因此还需要再加上一维用来表示交易次数。其中 f[i][j] 表示第 i 天结束后完成了 j 次交易处于买入状态此时的最大利润g[i][j] 表示第 i 天结束后完成了 j 次交易处于卖出可交易状态此时的最大利润。 状态机 对于 f[i][j] 有两种情况到这个状态 在 i - 1 天的时候交易了 j 次处于买入状态第 i 天啥也不干即可。此时最大利润为 f[i - 1][j] ;在 i - 1 天的时候交易了 j 次处于卖出可交易状态第 i 天的时候把股票买了。此时的最大利润为 g[i - 1][j] - prices[i] 。 综上要的是最大利润因此是两者的最大值 f[i][j] max(f[i - 1][j], g[i - 1][j] - prices[i]) ; 对于 g[i][j] 也有两种情况可以到达这个状态 在 i - 1 天的时候交易了 j 次处于卖出可交易状态第 i 天啥也不干即可。此时的最大利润为 g[i - 1][j] 在 i - 1 天的时候交易了 j - 1 次处于买入状态第 i 天把股票卖了然后就完成了 j 比交易。此时的最大利润为 f[i - 1][j - 1] prices[i] 。但是这个状态不⼀定存在要先判断⼀下。 综上我们要的是最大利润因此状态转移方程为 g[i][j] g[i - 1][j]; if(j - 1 0) g[i][j] max(g[i][j], f[i - 1][j - 1] prices[i]); 初始化、填表顺序、返回值 对于 f 表由于需要用到 i 0 时的状态因此初始化第一行即可。 当处于第 0 天的时候只能处于买入过一次的状态此时的收益为 -prices[0] 因此 f[0][0] - prices[0] 其它为负无穷。 对于 g 表由于需要用到 i 0 时的状态因此初始化第一行即可。 当处于第 0 天的时候处于卖出可交易状态啥也不干即可此时的收益为0 因此 f[0][0] 0其它为负无穷。 对于负无穷为了取 max 的时候⼀些不存在的状态起不到干扰的作用将它们初始化为负INF 用INT_MIN 在计算过程中会有溢出的风险这里 INF 折半取 0x3f3f3f3f 足够小即可。 填表顺序从左往右两个表一起填最后返回 g 表最后一行的最大值。 解析代码 class Solution {const int INF 0x3f3f3f3f; public:int maxProfit(vectorint prices) {int n prices.size();vectorvectorint f(n, vectorint(3, -INF)); // 最多两笔vectorvectorint g(n, vectorint(3, -INF));f[0][0] -prices[0];g[0][0] 0;for(int i 1; i n; i){for(int j 0; j 3; j){f[i][j] max(f[i-1][j], g[i-1][j] - prices[i]);g[i][j] g[i-1][j];if(j-1 0)g[i][j] max(g[i-1][j], f[i-1][j-1] prices[i]);}}return max(g[n-1][0], max(g[n-1][1], g[n-1][2]));} };
http://www.zqtcl.cn/news/520029/

相关文章:

  • 国际1688网站网络平台宣传费用
  • 免费网站自助建站18款禁游戏黄app入口
  • 网站建设要经历哪些步骤?wordpress主题king
  • 个人定制网站外贸免费网站建设
  • ASP网站建设实训报告总结宜昌本地网站建设
  • 甘肃省建设厅官方网站张睿建立网站服务器
  • 有没有做博物馆的3d网站网页美工设计岗前培训
  • 如何防止网站被盗长沙知名网站建设
  • 汕尾住房和建设局网站山西招标网
  • 网站建设那好山西建设厅网站
  • 2免费做网站外贸公司注册需要多少钱
  • 莘县网站定制安卓软件开发培训机构
  • 织梦视频网站源码有没有专门做名片的网站
  • 济南本地网站自己做的网站怎么置顶
  • wordpress能做多大的站好用的网站后台
  • 想自己做网站流程国家住建网查企业资质
  • 英文网站怎么设计google浏览器入口
  • 重庆网站建设公司魁网个人备案网站名
  • 怀柔营销型网站建设wordpress菜单定制
  • 大连装修网站推广天津市建设信息工程网
  • 服装网站建设建议域名注册最好的网站
  • 小游戏网站网络营销推广岗位
  • 做一百度网站保健品网站建设案例
  • 沙田镇仿做网站如何建设钓鱼网站
  • 如何用域名进网站企业做电商网站有哪些
  • soho做网站网站的k线图怎么做
  • 成都专业的网站建设公司做网站需要哪个专业
  • php彩票网站建设源码有人看片吗免费观看
  • 自己做网站的准备工作营销平台推广
  • 建站网站平台建站工具的优点