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

免费1级做爰片动漫在线观看网站四川建筑人才招聘网

免费1级做爰片动漫在线观看网站,四川建筑人才招聘网,c 转网站开发,山东省建设教育信息网站首页题目1#xff1a;123 买卖股票的最佳时机Ⅲ 题目链接#xff1a;买卖股票的最佳时机Ⅲ 对题目的理解 prices[i]表示股票在第i天的价格#xff0c;最多可以完成两笔交易#xff0c;不能同时进行多笔交易 可以买卖一次#xff0c;两次#xff0c;也可以不买卖 动态规划…题目1123 买卖股票的最佳时机Ⅲ 题目链接买卖股票的最佳时机Ⅲ 对题目的理解 prices[i]表示股票在第i天的价格最多可以完成两笔交易不能同时进行多笔交易 可以买卖一次两次也可以不买卖 动态规划 动规五部曲 1dp数组及下标i的含义 dp[i][0]  不操作(可有可无)股票的最大现金 dp[i][1]  第一次持有股票的最大现金 dp[i][2]  第一次不持有股票的最大现金 dp[i][3]  第二次持有股票的最大现金 dp[i][4]   第二次不持有股票的最大现金 不持有股票现金的状态一定比持有股票的现金多第二次不持有一定包含第一次不持有的钱 最终求解 dp[prices.size()-1][4] 2递推公式 dp[i][0] dp[i-1][0] dp[i][1] dp[i-1][1]  前一天已经持有 dp[i][1] dp[i-1][0]-prices[i]   第i天买入,前一天不操作 dp[i][1] max(dp[i-1][1]dp[i-1][0]-prices[i]) dp[i][2] dp[i-1][2]  前一天不持有 dp[i][2] dp[i-1][1]prices[i]    第i天卖出 前一天持有 dp[i][2] max(dp[i-1][2]dp[i-1][1]prices[i]) dp[i][3] dp[i-1][3]  前一天已经持有 dp[i][3] dp[i-1][2] -prices[i]  第i天买入但是因为是第二次买入所以应该是在第一次卖出的基础上减去第i天的股票价格 dp[i][3] max(dp[i-1][3]dp[i-1][2]-prices[i]) dp[i][4] dp[i-1][4]  前一天不持有 dp[i][4] dp[i-1][3] prices[i]  第i天卖出但是因为是第二次卖出所以应该在第二次买入的基础上加上第i天的股票价格 dp[i][4] max(dp[i-1][4]dp[i-1][3]prices[i]) 3dp数组初始化 从递推公式可以看出i的状态由i-1的状态决定所以初始化dp[0] dp[0][0]0 dp[0][1]-prices[0] dp[0][2]0(同一天买卖) dp[0][3]-prices[0](第二次又买入了) dp[0][4]0第二次又卖出了 4遍历顺序 从递推公式可以看出i的状态由i-1的状态决定所以从小到大遍历 for(i1;iprices.size();i)  注意从1开始 5打印dp数组 代码 class Solution { public:int maxProfit(vectorint prices) {//定义dp数组vectorvectorint dp(prices.size(),vectorint(5));//初始化dp数组dp[0][0] 0;//不操作dp[0][1] -prices[0];//第一次持有股票dp[0][2] 0;//第一次不持有股票dp[0][3] -prices[0];//第二次持有股票dp[0][4] 0;//第二次不持有股票for(int i1;iprices.size();i){dp[i][0] dp[i-1][0];dp[i][1] max(dp[i-1][1],dp[i-1][0]-prices[i]);dp[i][2] max(dp[i-1][2],dp[i-1][1]prices[i]);dp[i][3] max(dp[i-1][3],dp[i-1][2]-prices[i]);dp[i][4] max(dp[i-1][4],dp[i-1][3]prices[i]);}return dp[prices.size()-1][4];} }; 时间复杂度O(n)空间复杂度O(n × 5) 不使用dp[i][0]这个数组直接将dp[i][0]相关的部分注释掉即可 代码 class Solution { public:int maxProfit(vectorint prices) {//定义dp数组vectorvectorint dp(prices.size(),vectorint(5));//初始化dp数组// dp[0][0] 0;//不操作dp[0][1] -prices[0];//第一次持有股票dp[0][2] 0;//第一次不持有股票dp[0][3] -prices[0];//第二次持有股票dp[0][4] 0;//第二次不持有股票for(int i1;iprices.size();i){// dp[i][0] dp[i-1][0];dp[i][1] max(dp[i-1][1],-prices[i]);dp[i][2] max(dp[i-1][2],dp[i-1][1]prices[i]);dp[i][3] max(dp[i-1][3],dp[i-1][2]-prices[i]);dp[i][4] max(dp[i-1][4],dp[i-1][3]prices[i]);}return dp[prices.size()-1][4];} }; 题目2买卖股票的最佳时机Ⅳ 题目链接买卖股票的最佳时机Ⅳ 对题目的理解 prices[i]是某支股票在第i天的价格最多可以完成k笔交易不能同时参与多笔交易 动规五部曲 1dp数组及下标i的含义 dp[i][j]:第i天的状态为j持有股票奇数不持有股票偶数所拥有的最大现金j大于等于0小于等于2k 最终求解dp[prices.size()-1][2k] 2递推公式 for(j0;j2k-1;j2)  //j控制第几次买卖 第j次持有  dp[i][j1] max(dp[i-1][j1],dp[i][j]-prices[i]); 第j次不持有  dp[i][j2] max(dp[i-1][j2],dp[i][j1]prices[i]); 3dp数组初始化 根据递推公式j为奇数表示持有for(int j1;j2k;j2)  dp[0][j]-prices[0] 4遍历顺序 根据递推公式从小到大遍历 5打印dp数组 代码 class Solution { public:int maxProfit(int k, vectorint prices) {//定义dp数组vectorvectorint dp(prices.size(),vectorint(2*k1));//初始化dp数组for(int j1;j2*k;j2){//j为奇数下标时全为-prices[0],j是下标应不超过2k1dp[0][j]-prices[0];} //递推for(int i1;iprices.size();i){for(int j0;j2*k-1;j2){//将j代入j2,2k-222k//持有dp[i][j1]max(dp[i-1][j1],dp[i-1][j]-prices[i]);//不持有dp[i][j2]max(dp[i-1][j2],dp[i-1][j1]prices[i]);}}return dp[prices.size()-1][2*k];} }; 时间复杂度: O(n * k)其中 n 为 prices 的长度空间复杂度: O(n * k)
http://wiki.neutronadmin.com/news/349276/

相关文章:

  • 网站开发费属于无形资产wordpress个人站无法升级
  • 中国icp备案的有多少企业网站动漫制作专业认知
  • 聊城手机网站建设方案怎么在windows做网站
  • 网站排名优化软件电话WordPress里面备份功能在哪
  • vs做网站标签输出语言单位网站的建设
  • 厦门自己建网站购买域名做销售网站可以吗
  • 怎么创建一个自己的网站网站售价
  • 新乡个人网站建设价格在线涨粉平台
  • 网站首页布局诊断网页qq网址
  • 枣阳网站开发做全世界的生意的网站
  • 门户网站建设投资天津市建设公司网站
  • 大型网站技术架构演进与性能优化求一外国h网站
  • 流行的网站设计风格成都锦江建设局网站
  • 工商局网站官网页面设计公司会招低学历的人吗
  • 秦皇岛网站开发价格做车展的网站
  • 分销怎么做网站开发分销丝绸之路网站建设策划书
  • 在哪公司建设网站新手运营从哪开始学
  • 做视频网站审核编辑有假么个人如何做购物网站 关于支付接口
  • 像饿了码的网站建站有吗wordpress主题 榆次
  • 网站挣钱网深圳百度快照优化
  • 河南网站优化排名内网门户网站建设
  • 小型门户网站建设硬件配置手机网价格直降
  • 彩妆网站建设策划书住房与建设部网站首页
  • 公司信息化网站建设实施方案吉林省建设银行网站
  • 网站建设的几个阶段广州手机网站定制咨询
  • 网站企业优化手机app下载官方
  • 厦门网站建设网站制作吴川网站开发公司
  • 网站建设公司市场策划方案优化公司管理
  • 上海网站建设优化公司网站建设插导航条
  • 电影视频网站怎么做社区网站推广方案