代码随想录算法训练营Day41|| 动态规划part08

121.买卖股票的最佳时机:可以暴力for循环两层,也可以使用贪心算法,每次左边取最小的数,右边取尽量最大的数。 动态规划方法注意dp数组的含义,持有为0,不持有为1。由于只能购买一次,一旦持有股票,要么是首次买入,值为-prices[i],要么是维持前一天。这个点会体现和其他股票题的区别!

122.买卖股票的最佳时机II: 之前用过贪心的思路解决这道题,比动态规划简单。今天主要为了动态规划股票题的循序渐进。和股票I的区别在于可以多次购买,唯一需要改动的就是每天持有股票的现金数和前一天不持有股票的现金数有关了。

123.买卖股票的最佳时机III: 规定了只能买卖两次,因此要确立四个不同状态:第一次持有,第一次不持有,第二次持有,第二次不持有,反复维护这4个数,是个n*4的数组。递推公式很好理解。难度其实不大。优化空间的思路容易把自己绕进去,暂时不考虑了。

你可能感兴趣的:(算法,动态规划)