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

网站建设一百互联百度推广渠道商

网站建设一百互联,百度推广渠道商,贵阳做网站kuhugz,丰台住房城乡建设委官方网站目录题目思路动态规划题目来源 309. 最佳买卖股票时机含冷冻期 题目思路 每天最多只可能有三种状态中的一种 0表示当前处于买入状态(持有股票) 1表示当前处于卖出状态(不持有股票) 2表示当前处于冷冻状态 设dp[i][j]表示i - 1天状态为j时所拥有的最大现金 dp[i][0] Math.ma…

目录

    • 题目思路
    • 动态规划

题目来源
309. 最佳买卖股票时机含冷冻期

题目思路

每天最多只可能有三种状态中的一种

0表示当前处于买入状态(持有股票)
1表示当前处于卖出状态(不持有股票)
2表示当前处于冷冻状态 设dp[i][j]表示i - 1天状态为j时所拥有的最大现金

            dp[i][0] = Math.max(dp[i-1][0],dp[i-1][2]-prices[i]);  //持有股票dp[i][1] = Math.max(dp[i-1][1],dp[i-1][0]+prices[i]);  //不持有股票dp[i][2] = dp[i-1][1];  //冷冻期

dp[i][0] = Math.max(dp[i-1][0],dp[i-1][2]-prices[i])意思是你只有在股票冷冻期之后才能买入
dp[i][2] = dp[i-1][1]意思是冷冻期肯定是卖出的状态(手上没有股票)

动态规划

  • 1.确定dp数组以及下标的含义

dp[i][j],第i天状态为j,所剩的最多现金为dp[i][j]。

可以定义下面三个状态
0表示当前处于买入状态(持有股票)
1表示当前处于卖出状态(不持有股票)
2表示当前处于冷冻状态 设dp[i][j]表示i - 1天状态为j时所拥有的最大现金

  • 2.确定递推公式

买入状态
操作一:前一天就是持有股票状态(状态一),dp[i][0] = dp[i - 1][0]
操作二:冷冻期之后才能买 dp[i][0] = dp[i-1][2]-prices[i]
dp[i][0] = Math.max(dp[i-1][0],dp[i-1][2]-prices[i]);
卖出状态
操作一:前一天就是卖出状态,dp[i][1] = dp[i - 1][1]
操作二:持有股票才能卖出,dp[i][1] = dp[i-1][0]+prices[i]
dp[i][1] = Math.max(dp[i-1][1],dp[i-1][0]+prices[i]);
冷冻状态
只有卖出的状态
dp[i][2] = dp[i-1][1];

  • 3.dp数组如何初始化

如果是持有股票状态那么:dp[0][0] = -prices[0],一定是当天买入股票。
如果是不持有股票状态,dp[0][1] = 0,当天买当天卖
如果是冷冻期状态,dp[0][2] = 0,延续不持有股票的状态

  • 4.确定遍历顺序

从递归公式上可以看出,dp[i] 依赖于 dp[i-1],所以是从前向后遍历。

  • 5.举例推导dp数组

以 [1,2,3,0,2] 为例,dp数组如下:

在这里插入图片描述
代码实现

class Solution {public int maxProfit(int[] prices) {if(prices == null || prices.length == 0){return 0;}int[][] dp = new int[prices.length][3];dp[0][0] = -prices[0];dp[0][1] = 0;dp[0][2] = 0;for(int i = 1;i<prices.length;i++){dp[i][0] = Math.max(dp[i-1][0],dp[i-1][2]-prices[i]);  //持有股票dp[i][1] = Math.max(dp[i-1][1],dp[i-1][0]+prices[i]);  //不持有股票dp[i][2] = dp[i-1][1];  //冷冻期}return Math.max(dp[prices.length-1][1],dp[prices.length-1][2]);}
}

在这里插入图片描述

http://www.yidumall.com/news/85959.html

相关文章:

  • 响应式网站概况新闻营销
  • 山河集团建设有限公司网站今天最新新闻国内大事件
  • 舆情系统的作用seo的工作内容
  • 本地wordpress站点上传文件久久seo综合查询
  • 朝阳市网站建设系统开发
  • 做哪方面的网站好呢百度一下电脑版
  • 软件开发资源网站seo排名优化方式
  • 长沙的企业网站建设移动广告联盟
  • 网站导航插件模板免费网站建设
  • 佛山做外贸网站代理商seo怎样
  • No物流网站建设杭州专业seo
  • 有什么做图片赚钱的网站亚马逊跨境电商
  • 怎么自己做电影网站广东省人大常委会
  • 固始做网站如何介绍自己设计的网页
  • 免费简约ppt模板广州网站制作实力乐云seo
  • 网站素材图标河南今日重大新闻
  • 做网站赚钱的案例营销网站建设免费
  • 企业品牌网站营销关键词优化包年推广
  • 制作网站的公司凡科建站教程
  • 网站 如何做 同时在线快速优化seo
  • 北京营销网站建设百度用户服务中心人工24小时电话
  • 深圳网站建设大公司排名如何自己建一个网站
  • 网站建设公司企业模板google推广公司
  • 青少年宫网站开发百度app推广方法
  • 介绍做ppt高大上图表的网站中国疫情最新情况
  • 广州定制型网站建设东莞网络营销网站建设
  • 抚州做网站公司最好用的磁力搜索神器
  • 做网站需要多少费用刷推广链接人数的软件
  • 南通网站制作seo外链工具源码
  • 新建网站外链怎么做云南最新消息