理论:
1.动态规划里面的状态实际上是分类讨论(在此题里面dp数组的确立可以体现)
做动规步骤:
1.需要明确dp数组含义
1.确定维度:此题最大收益,当天数和销售股票数目,以及是否持有股票状态均有关,故有3个维度
故可以使用三维数组dp[i][0][n]//表示第i天,其中第二个0表示此时不持有股票,第三个n表示到此为止销售 了n个股票。(n最大是2)(自己试过,是可以解决本题题目的)(这里补充一下,关于为什么推荐降到二维,是因为初始化的时候,三维是一个空间,立体有点麻烦有时候露情况不好处理)
由理论可知,动规里面的状态本质上是分情况讨论,所以可以将事件分情况为,第i天不持有股票,第i天持有第一张股票,第i天不持有第一张股票,第i天持有第二张股票,第i天不持有第二张股票五种情况。
故可以将三维数组变为二维数组dp[i][n],此时的n代表事件(每天的状态数)数(n的最大值是5);
下面是此题代码