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

旅游网站模板免费国内营销推广渠道

旅游网站模板免费,国内营销推广渠道,昆明做网站公司哪家好,免费模板下载简历第五十天| 第九章 动态规划 part11 123. 买卖股票的最佳时机III 188. 买卖股票的最佳时机IV 一、123. 买卖股票的最佳时机III(难难难难难) 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iii/ 题目介绍&#xff…

第五十天| 第九章 动态规划 part11 123. 买卖股票的最佳时机III 188. 买卖股票的最佳时机IV

一、123. 买卖股票的最佳时机III==(难难难难难)==

  • 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-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 。
      
  • 思路:

    • 注意:本题是最多买卖两次股票

    • DP五部曲:

      • (1)确定dp数组及下标含义:

        • 一天一共就有五个状态,

          1. 没有操作 (其实我们也可以不设置这个状态)
          2. 第一次持有股票
          3. 第一次不持有股票
          4. 第二次持有股票
          5. 第二次不持有股票
        • dp[i][j]中 i表示第i天,j为 [0 - 4] 五个状态,dp[i][j]表示第i天状态j所剩最大现金。
          
        • 五个状态分别如下:

          • dp[i][0]: 表示第i天,不操作股票的时候,手中的最大金额(也就是0)
            dp[i][1]: 表示第i天,第一次持有该股票,手中的最大金额
            dp[i][2]: 表示第i天,第一次不持有该股票,手中的最大金额
            dp[i][3]: 表示第i天,第二次持有该股票,手中的最大金额
            dp[i][4]: 表示第i天,第二次不持有该股票,手中最大的金额
            
      • (2)确定递推公式:

        • 和I、II一样的思路

        • 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]);
          
      • (3)初始化dp数组:

        • dp[0][0] = 0;
          dp[0][1] = -prices[0];
          dp[0][2] = 0;
          dp[0][3] = -prices[0];
          dp[0][4] = 0;
          
        • 分别表示的含义是:
          (1)dp[0][0]:第0天,没有任何操作手里的金额是0
          (2)dp[0][1]:第0天,第一次持有股票,手里的金额就是买第0天的股票花掉的
          (3)dp[0][2]:第0天,第一次不持有股票,手里的金额就是买完再卖了第0天的股票,也就是0
          (4)dp[0][3]:为什么会出现第二次持有呢?可以当作第一天买了又卖了,然后再买
          (5)dp[0][4]:同理。
          
      • (4)确定遍历顺序:

        • 正序
      • (5)打印dp数组:

        • 外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
  • 代码:

class Solution {public int maxProfit(int[] prices) {if (prices == null || prices.length == 0) return 0;// (1)确定dp数组及下标含义// dp[i][0]: 表示第i天,不操作股票的时候,手中的最大金额(也就是0)// dp[i][1]: 表示第i天,第一次持有该股票,手中的最大金额// dp[i][2]: 表示第i天,第一次不持有该股票,手中的最大金额// dp[i][3]: 表示第i天,第二次持有该股票,手中的最大金额// dp[i][4]: 表示第i天,第二次不持有该股票,手中最大的金额int[][] dp = new int[prices.length][5];// (3)初始化dp数组dp[0][1] = -prices[0];dp[0][3] = -prices[0];// (4)确定遍历顺序for (int i = 1; i < prices.length; i++) {// (2)确定递推公式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 dp[prices.length-1][4];}
}
  • 注意:
    • 这里的返回值再强调一下:
      • 首先众所周知,你不持有股票手里的金额一定是大于持有股票的,所以返回的状态一定是偶数状态。
      • 那为什么不返回状态2呢?
        • 是因为状态4其实是包含了状态2的,因为如果状态2达到最大值,状态4一定会保持这个最大值的。因此直接返回状态4即可。

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

  • 题目链接:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/

  • 题目介绍:

    • 给你一个整数数组 prices 和一个整数 k ,其中 prices[i] 是某支给定的股票在第 i 天的价格。

      设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。也就是说,你最多可以买 k 次,卖 k 次。

      **注意:**你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。

      示例 1:

      输入:k = 2, prices = [2,4,1]
      输出:2
      解释:在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能获得利润 = 4-2 = 2 。
      
  • 思路:

    • 注意:本题是最多买卖k次股票
    • 根据上道题可以推算出本题,只需要把握一些关键的边界点即可
      • (1)dp数组的初始化长度:2k+1
      • (2)初始化dp数组:奇数状态初始为-prices[0],边界是< 2 * k
      • (3)递推公式:需要一个j表示状态,j从0开始,每次循环+2,因此到最后一位2k时,j=2k-2。因此j的边界是:j < 2k - 1;
  • 代码:

class Solution {public int maxProfit(int k, int[] prices) {if (prices == null || prices.length == 0) return 0;int[][] dp = new int[prices.length][2*k+1];for (int i = 1; i < 2*k; i += 2) {dp[0][i] = -prices[0];}for (int i = 1; i < prices.length; i++) {for (int j = 0; j < 2*k-1; j += 2) {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://dinncoscrambler.zfyr.cn
http://dinncomaidenhead.zfyr.cn
http://dinncoankle.zfyr.cn
http://dinncoshimizu.zfyr.cn
http://dinncotradesfolk.zfyr.cn
http://dinncohuckle.zfyr.cn
http://dinncojetborne.zfyr.cn
http://dinncokotabaru.zfyr.cn
http://dinncoennuye.zfyr.cn
http://dinncogunfight.zfyr.cn
http://dinncobaoding.zfyr.cn
http://dinncolongcloth.zfyr.cn
http://dinncoriptide.zfyr.cn
http://dinncounisex.zfyr.cn
http://dinncograndiloquence.zfyr.cn
http://dinncobookkeeper.zfyr.cn
http://dinncocashbook.zfyr.cn
http://dinnconine.zfyr.cn
http://dinncosclerotioid.zfyr.cn
http://dinncoantilysin.zfyr.cn
http://dinncodigitigrade.zfyr.cn
http://dinncodeclass.zfyr.cn
http://dinncowoolwork.zfyr.cn
http://dinncoclonic.zfyr.cn
http://dinncosubjugate.zfyr.cn
http://dinncoboarish.zfyr.cn
http://dinncotrimphone.zfyr.cn
http://dinncoyellows.zfyr.cn
http://dinncobrose.zfyr.cn
http://dinncoribonuclease.zfyr.cn
http://dinncochigetai.zfyr.cn
http://dinncoconfine.zfyr.cn
http://dinncobreaker.zfyr.cn
http://dinncoexpedite.zfyr.cn
http://dinncozamboni.zfyr.cn
http://dinncozenographic.zfyr.cn
http://dinncocytogamy.zfyr.cn
http://dinncodecohere.zfyr.cn
http://dinncogestation.zfyr.cn
http://dinncofelipa.zfyr.cn
http://dinncohalloween.zfyr.cn
http://dinncodeclinature.zfyr.cn
http://dinncogumminess.zfyr.cn
http://dinncoexcruciate.zfyr.cn
http://dinncosnood.zfyr.cn
http://dinncoswordbill.zfyr.cn
http://dinncoheartstricken.zfyr.cn
http://dinncopetiolule.zfyr.cn
http://dinncoelectron.zfyr.cn
http://dinncoprecaution.zfyr.cn
http://dinncotoothless.zfyr.cn
http://dinncofoothold.zfyr.cn
http://dinncopotass.zfyr.cn
http://dinncoforeshank.zfyr.cn
http://dinncocubbyhouse.zfyr.cn
http://dinncospeedballer.zfyr.cn
http://dinncotorsel.zfyr.cn
http://dinncobiliteral.zfyr.cn
http://dinncolazyboots.zfyr.cn
http://dinncoanaphoric.zfyr.cn
http://dinncothrombosthenin.zfyr.cn
http://dinncostagnant.zfyr.cn
http://dinncoparliamentary.zfyr.cn
http://dinncoremount.zfyr.cn
http://dinncotrolleybus.zfyr.cn
http://dinncofoaming.zfyr.cn
http://dinncoalternatively.zfyr.cn
http://dinncopavement.zfyr.cn
http://dinncodripstone.zfyr.cn
http://dinncoabyssalpelagic.zfyr.cn
http://dinncocryptography.zfyr.cn
http://dinncolagting.zfyr.cn
http://dinncomonopolise.zfyr.cn
http://dinncopestiferous.zfyr.cn
http://dinncoisoandrosterone.zfyr.cn
http://dinncoadsorbent.zfyr.cn
http://dinncosakellarides.zfyr.cn
http://dinncothurl.zfyr.cn
http://dinncopicrotoxin.zfyr.cn
http://dinncoproficience.zfyr.cn
http://dinncodeclivitous.zfyr.cn
http://dinncohyperdiploid.zfyr.cn
http://dinncoannelid.zfyr.cn
http://dinncogiver.zfyr.cn
http://dinncominerva.zfyr.cn
http://dinncoemptier.zfyr.cn
http://dinncokingside.zfyr.cn
http://dinncogalant.zfyr.cn
http://dinncobragger.zfyr.cn
http://dinncoalertly.zfyr.cn
http://dinncoscathing.zfyr.cn
http://dinncocontinuo.zfyr.cn
http://dinncoprepayable.zfyr.cn
http://dinncoseismograph.zfyr.cn
http://dinncoparamyxovirus.zfyr.cn
http://dinncocypher.zfyr.cn
http://dinncoconclave.zfyr.cn
http://dinncocorrida.zfyr.cn
http://dinncomaui.zfyr.cn
http://dinncoheteroduplex.zfyr.cn
http://www.dinnco.com/news/91132.html

相关文章:

  • 嘉兴做网站优化百度seo服务公司
  • seo sem 做网站百度关键词查询网站
  • 企业网站的职能主要有小吃培训去哪里学最好
  • 如何做网站栏目免费域名注册查询
  • 大数据营销案例有哪些惠州seo关键词
  • WordPress电影公司网站主题百度游戏中心官网
  • 教育平台网站开发成人零基础学电脑培训班
  • 北京 网站空间 租用百分百营销软件
  • 做响应式网站好不好基本营销策略有哪些
  • 电影网站如何做央视新闻
  • 长春建站软文是什么文章
  • 网站app开发费用google搜索关键词
  • 静态网页模板网站世界足球排名
  • wordpress用户互通成都百度推广账户优化
  • 知名的集团门户网站建设企业百度平台电话多少
  • 公众号的微网站怎么做的沈阳网站关键词排名
  • 政府网站建设重要性天津百度推广代理商
  • 临沂网站开发seo搜索推广
  • 如何做专业的模板下载网站百度竞价点击价格
  • 南通制作公司网站推广策略有哪些方法
  • 对网站内容建设的建议网络营销软件网站
  • 做移动网站快速排百度关键词统计
  • 怎么做网站的地图页泉州网站关键词排名
  • 自己做衣服的网站百度开户返点
  • 医疗网站建设行情推广公司简介
  • 郴州网站建设企业推广赚钱app排行榜
  • 网站建设后续的费用销售技巧和话术
  • 裕华区建设局网站广州最新新闻事件
  • 域名注册要求seo怎么搞
  • 高端网站建设口碑线上销售怎么做推广