博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode]Best Time to Buy and Sell Stock IV
阅读量:6690 次
发布时间:2019-06-25

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

Best Time to Buy and Sell Stock IV

Say you have an array for which the ith element is the price of a given stock on day i.

Design an algorithm to find the maximum profit. You may complete at most k transactions.

Note:

You may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).

Credits:

Special thanks to  for adding this problem and creating all test cases.

 

这题难度明显增大。是和两道题的结合。

参考,主要是两个递推公式。

1 local[j] = max(local[j] + diff, global[j - 1] + max(diff, 0));2 global[j] = max(global[j], local[j]);
1 class Solution { 2 public: 3     int maxProfit(int k, vector
& prices) { 4 int result; 5 int total_times=0; 6 int profit_max = 0; 7 for(int i=1;i
0)11 {12 profit_max +=diff;13 if(((i
<=0))||(i==prices.size()-1))14 {15 total_times++;16 }17 }18 }19 if(k>=total_times) return profit_max;20 vector
local(k + 1, 0);21 vector
global(k + 1, 0);22 for(int i = 1; i < prices.size(); i++) 23 {24 int diff = prices[i] - prices[i - 1];25 for(int j = k; j >= 1; j--) {26 local[j] = max(local[j] + diff, global[j - 1] + max(diff, 0));27 global[j] = max(global[j], local[j]);28 }29 }30 return global[k];31 }32 };

 

转载于:https://www.cnblogs.com/Sean-le/p/4782281.html

你可能感兴趣的文章
iOS:网络检测
查看>>
TinyHttpd中sockaddr与struct sockaddr_in的区别
查看>>
Windows Workflow Foundation(一)(转载)
查看>>
C# WinForm中 让控件全屏显示的实现代码
查看>>
为什么你还在用嵌入式的方式来使用mod_wsgi?
查看>>
Sublime 常用快捷键
查看>>
jQueryJSON 无刷新三级联动
查看>>
日志分析利器Splunk的搭建、使用、破解
查看>>
安装和配置VNC服务器的法则
查看>>
ELK统一日志系统的应用
查看>>
select top @varible
查看>>
Incoming call missed/rejected Reminder on Windows Mobile
查看>>
iOS:网络编程的第三方框架:AFNetworking、SDWebImage
查看>>
集合已修改 ;可能无法执行枚举操作 Dictionary
查看>>
Ruby正则表达式实践非贪婪量词
查看>>
robot framework环境搭建
查看>>
Android百度地图相关内容汇总
查看>>
ITTC数据挖掘系统(六)批量任务,数据查看器和自由文档
查看>>
[Android Memory] 手动回收ImageVIew的图片资源
查看>>
GNU make manual 翻译( 一百四十一)
查看>>