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

网站导航做多大个人品牌打造方案

网站导航做多大,个人品牌打造方案,校园网页制作模板,梵克雅宝是哪个国家的牌子188.买卖股票的最佳时机IV 题目链接#xff1a;188.买卖股票的最佳时机IV 文档讲解#xff1a;代码随想录 状态#xff1a;不会 思路#xff1a; 在股票买卖1使用一维dp的基础上#xff0c;升级成二维的即可。 定义dp[k1][2]#xff0c;其中 dp[j][0] 表示第j次交易后持…188.买卖股票的最佳时机IV 题目链接188.买卖股票的最佳时机IV 文档讲解代码随想录 状态不会 思路 在股票买卖1使用一维dp的基础上升级成二维的即可。 定义dp[k1][2]其中 dp[j][0] 表示第j次交易后持有股票的最大利润dp[j][1] 表示第j次交易后不持有股票的最大利润。初始化时对所有持有股票的情况要变成dp[i][0] -prices[0]; 题解 要注意 dp[j][0] Math.max(dp[j][0], dp[j - 1][1] - prices[i]); dp[j - 1][1] - prices[i] 是因为买入股票的操作要用dp[j-1][1],也就是上次卖出去得到的钱来买这次的股票 public int maxProfit(int k, int[] prices) {// 特殊情况处理如果价格数组为空或只有一个元素返回0if (prices.length 0) return 0;// dp数组定义为k1行2列// dp[j][0] 表示第j次交易后持有股票的最大利润// dp[j][1] 表示第j次交易后不持有股票的最大利润int[][] dp new int[k 1][2];// 初始化第1到第k次交易后的持有股票的最大利润为 -prices[0]for (int i 1; i k; i) {dp[i][0] -prices[0];}// 遍历每一天的股票价格for (int i 1; i prices.length; i) {// 倒序遍历每一次交易,也可以正序,但是倒序更快一点for (int j k; j 1; j--) {// 更新第j次交易后不持有股票的最大利润dp[j][1] Math.max(dp[j][1], dp[j][0] prices[i]);// 更新第j次交易后持有股票的最大利润// dp[j - 1][1] - prices[i] 是因为买入股票的操作要用dp[j-1][1],也就是上次卖出去得到的钱来买这次的股票dp[j][0] Math.max(dp[j][0], dp[j - 1][1] - prices[i]);}}// 返回最多k次交易后不持有股票的最大利润return dp[k][1];}309.最佳买卖股票时机含冷冻期 题目链接309.最佳买卖股票时机含冷冻期 文档讲解代码随想录 状态不会 思路 第i天的最大收益由持有和不持有股票两种状态推导出来考虑到由冷冻期那么第i天持有股票可以考虑跳过昨天从前天推导。 假设有今天持股情况下的最大收益 dp[i][0]、昨天不持股的最大收益 dp[i−1][0]、昨天持股的最大收益 dp[i−1][0]、前天不持股的最大收益 dp[i−2][1]前天持股的最大收益 dp[i−2][0]。先将目光集中在前天分别考虑前天持股与不持股的情况试试能不能推导出今天的最大收益。 对于 dp[i−2][0] 来说它表示前天结束时手中还有股票那么如果昨天选择将前天的股票卖掉由于冷冻期的存在今天是不能交易的自然今天手中也不可能还有股票推导不出 dp[i][0]因此这种情况可以直接忽略如果前天选择保留股票到昨天昨天也只能继续保留股票才能让今天手中也有股票这时 dp[i][0]dp[i−1][0]这种情况已经在上面的状态转移方程中考虑到了因此也不用担心。 对于 dp[i−2][1] 来说它表示前天结束时手中没有股票如果昨天买入股票只能是将股票保留到今天才能推出 dp[i][0]这时 dp[i]dp[i−1][0] 在状态转移方程中已经考虑到了如果昨天不买入股票那么由于昨天手中没有股票只能是今天买入同时因为昨天没交易昨天的最大收益和前天相同 dp[i−1][1]dp[i−2][1]所以这种情况的最大收益是 dp[i−2][1]−prices[i]。 题解 public int maxProfit(int[] prices) {int n prices.length;// 如果价格数组长度为0直接返回0if (n 0) {return 0;}// 定义一个二维数组 dpdp[i][0] 表示第 i 天持有股票的最大利润// dp[i][1] 表示第 i 天不持有股票的最大利润int[][] dp new int[n 1][2];// 初始化第一天的状态dp[1][0] -prices[0]; // 第一天持有股票利润为负的当前股票价格// 从第二天开始遍历价格数组for (int i 2; i n; i) {// 第 i 天持有股票的最大利润可以选择前一天也持有股票或者前两天不持有股票今天买入dp[i][0] Math.max(dp[i - 1][0], dp[i - 2][1] - prices[i - 1]);// 第 i 天不持有股票的最大利润可以选择前一天也不持有股票或者前一天持有股票今天卖出dp[i][1] Math.max(dp[i - 1][1], dp[i - 1][0] prices[i - 1]);}// 返回倒数第二天不持有股票的最大利润return dp[n][1]; // 因为是倒数第二天所以这里改为 dp[n][1]}714.买卖股票的最佳时机含手续费 题目链接714.买卖股票的最佳时机含手续费 文档讲解代码随想录 状态终于做出来一道了。。。。 思路和股票买卖第2道题一样不过每次卖出的时候扣除手续费就好了。 题解 public int maxProfit(int[] prices, int fee) {if (prices.length 1) {return 0;}int hasStock -prices[0]; // 第一天买入股票后的收益int noStock 0; // 第一天不买股票的收益for (int i 1; i prices.length; i) {// 今天选择买入股票或者保持昨天持有股票的状态hasStock Math.max(hasStock, noStock - prices[i]);// 今天选择卖出股票或者保持昨天没有股票的状态noStock Math.max(noStock, hasStock prices[i] - fee);}return noStock; // 最后一天不持有股票的最大收益 }
http://www.hkea.cn/news/14439925/

相关文章:

  • angular网站模板下载优秀设计网站
  • 网站挂黑链做网站需要做什么页面
  • wordpress多门户网站it外包合同模板
  • 产品营销类网站济南网站搜索引擎优化
  • 网站设计公司 中山建设规划展览馆网站的优势
  • 腾讯做的导购网站建行网站用户名是什么
  • dw软件可以做哪些网站北京建设协会网站首页
  • 龙岩有什么招聘本地网站昆明营销型网站制作设计
  • 做网站一定要买php 网站迁移
  • 手机端微网站设计模板腾讯会议新闻
  • 建筑企业网站模板lnmt wordpress
  • 个人怎样免费建网站做性视频大全在线观看网站
  • 网站开发相关英文单词小说推广合作平台入口
  • 手机网站菜单如何自己做音频网站
  • 石家庄个人建站模板平台网站如何做推广方案设计
  • 医药公司网站建设网站空间域名能不能自己续费
  • 东莞网站建设哪家公司好昆山网站建设价格
  • 手机网站整站源码有网页源码 怎么做网站
  • 网站的空间域名哪种网站语言最好
  • 上海网站建设 美橙wordpress门户加商城
  • wordpress 还有什么seo公司如何优化
  • 衡水网站制作费用大连百度网站优化
  • 国外网站网站app广州住房与建设网站
  • 百元便宜建站出租房千万不要托管
  • 签证中心网站建设凡科网站能在百度做推广吗
  • 贵阳市城乡建设部网站专门型网站
  • 网站备案年审郑州做网站公司排
  • 湖北省两学一做网站怎样做推广营销
  • 网站开发过程和里程碑深圳网站设计 建设首选深圳市
  • 电商的网站开发订单返利功能结构设计在哪个网站接单兼职做