LintCode 152 买卖股票的最佳时机 IV
题目要求:
假设你有一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来找到最大的利润。你最多可以完成 k 笔交易。
注意事项:
你不可以同时参与多笔交易(你必须在再次购买前出售掉之前的股票)
给出样例如下:
给定价格 = [4,4,6,1,1,4,2,5], 且 k = 2, 返回 6.
题目给出的框架如下:
class Solution {
public:
/**
* @param k: An integer
* @param prices: Given an integer array
* @return: Maximum profit
*/
int maxProfit(int k, vector<int> &prices) {
// wri

本文介绍了LintCode 152题目的解题思路和代码实现,重点是利用动态规划在限制交易次数k的情况下找到最大利润。通过观察发现状态只与前一天相关,因此只需两个矩阵buy和sell存储当前天数的交易状态,避免了空间的大量消耗。解析了状态转移方程,并提出从后往前遍历以确保计算的正确性。
最低0.47元/天 解锁文章
1193

被折叠的 条评论
为什么被折叠?



