博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
力扣网 | 每日打卡题 |188. 买卖股票的最佳时机 IV
阅读量:4140 次
发布时间:2019-05-25

本文共 1995 字,大约阅读时间需要 6 分钟。

文章目录

题目

解析

class Solution {
public: int maxProfit(int k, vector
& prices) {
if (prices.empty()) {
return 0; } int n = prices.size(); k = min(k, n / 2); vector
> buy(n, vector
(k + 1)); vector
> sell(n, vector
(k + 1)); buy[0][0] = -prices[0]; sell[0][0] = 0; for (int i = 1; i <= k; ++i) { buy[0][i] = sell[0][i] = INT_MIN / 2; } for (int i = 1; i < n; ++i) { buy[i][0] = max(buy[i - 1][0], sell[i - 1][0] - prices[i]); for (int j = 1; j <= k; ++j) { buy[i][j] = max(buy[i - 1][j], sell[i - 1][j] - prices[i]); sell[i][j] = max(sell[i - 1][j], buy[i - 1][j - 1] + prices[i]); } } return *max_element(sell[n - 1].begin(), sell[n - 1].end()); }};/*作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv/solution/mai-mai-gu-piao-de-zui-jia-shi-ji-iv-by-8xtkp/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/
class Solution {
public: int maxProfit(int k, vector
& prices) {
if (prices.empty()) {
return 0; } int n = prices.size(); k = min(k, n / 2); vector
buy(k + 1); vector
sell(k + 1); buy[0] = -prices[0]; sell[0] = 0; for (int i = 1; i <= k; ++i) {
buy[i] = sell[i] = INT_MIN / 2; } for (int i = 1; i < n; ++i) {
buy[0] = max(buy[0], sell[0] - prices[i]); for (int j = 1; j <= k; ++j) {
buy[j] = max(buy[j], sell[j] - prices[i]); sell[j] = max(sell[j], buy[j - 1] + prices[i]); } } return *max_element(sell.begin(), sell.end()); }};/*作者:LeetCode-Solution链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-iv/solution/mai-mai-gu-piao-de-zui-jia-shi-ji-iv-by-8xtkp/来源:力扣(LeetCode)著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/
你可能感兴趣的文章
模拟linux的shell---顺便复习一下fork,execlp和waitpid函数
查看>>
如何获取linux shell中ls进程的进程号?---有趣的问题!
查看>>
利用thread来简要模拟signal函数功能
查看>>
linux shell “永久环境变量”、“临时环境变量”和“普通变量“之完全解读
查看>>
AlphaGo 4:1 李世石
查看>>
修改svn中的文件名
查看>>
svn diff | grep work看修改的文件
查看>>
txt中的内容复制到excel中无法对齐, 该怎么处理?
查看>>
网络传输的本质(buffer传输)决定了序列化和反序列化的重要应用
查看>>
ldd -r xxx.so命令的重要作用------见招拆招地解决缺库问题(undefined symbol)
查看>>
再来聊聊linux中的nm命令(nm与ldd命令实战)
查看>>
大白话解释互联网后台为什么常用异步server?
查看>>
确定性这剂毒药,你喝过没?
查看>>
GNU makefile英文官方介绍------干货
查看>>
makefile指定头文件和库出错的那点破事
查看>>
C/C++为什么要短路求值?
查看>>
做好参数校验, 不要过分信任前端传过来的值
查看>>
map如何按value来排序------用带pair的vector吧
查看>>
那点代码, 谁都会写!------以后我会在博客中多加入一些思路方面的东东, 少写一些实际的代码
查看>>
配置文件的重要性------轻化操作
查看>>