买卖股票的最佳时机 II
题目:
给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
本题可以使用动态规划算法
关于动态规划:
https://blog.csdn.net/u013309870/article/details/75193592
https://www.bilibili.com/video/BV1AB4y1w7eT?vd_source=50aae066395a687f022e890ffbe677f2
解题思路:
我们设 f[i][j] 表示第 i 天交易完后的最大利润,其中 j 表示当前是否持有股票,持有股票时 j=0,不持有股票时 j=1。初始状态为 f[0][0]=−prices[0],其余状态均为 0。
如果当前持有股票,那么可能是前一天就持有股票,今天什么都不做,即 f[i][0]=f[i−1][0];也可能是前一天不持有股票,今天买入股票,即 f[i][0]=f[i−1][1]−prices[i]。
如果当前不