这个题,我都不知道为什么了,但是我知道这么写就行了,理解个锤锤动态规划啊,直接梭哈就通过了。
class Solution {
public:
int maxProfit(int k, vector<int>& prices)
{
vector<int> hold(k + 1, INT_MIN);
vector<int> release(k + 1, 0); // Assume we only have 0 money at first
for(int i:prices){
for (int j = k; j > 0; j--)
{
release[j] = max(release[j], hold[j] + i);
hold[j] = max(hold[j], release[j - 1] - i);
}
}
return release[k];
}
};