在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。
2016-06-14 21:07
901 查看
思想来源于动态规划,如果以arr[i]为第二个投资点,那么,必须找到i-1前面的最大投资收益
class Stock { public: int maxProfit(vector<int> prices, int n) { // write code here int max=0; int peakBeaseBefore,peakBeaseAfter; for(int i=0;i<n;i++) { peakBeaseBefore=0;peakBeaseAfter=0; for(int j=0;j<i;j++) { for(int m=0;m<j;m++) { if((prices[j]-prices[m])>peakBeaseBefore) { peakBeaseBefore=prices[j]-prices[m]; } } } for(int k=i+1;k<n;k++) { if((prices[k]-prices[i])>peakBeaseAfter) { peakBeaseAfter=prices[k]-prices[i]; } } if((peakBeaseBefore+peakBeaseAfter)>max) { max=peakBeaseBefore+peakBeaseAfter; } } return max; } };
相关文章推荐
- CASS坐标导入并展点显示
- c语言中如何设计和编写一个应用系统?
- 阿里云 CentOS6.7 PHP5.2.17 lighttpd GD库 安装配置记录
- (OK) virtualbox — VBoxManage internalcommands — with UUID already exists
- HDOJ 2006 求奇数的乘积
- PHP_Cli模式初涉——转载一篇
- MyBatis-数据修改
- 之前的博客名字不能改了,没办法只好重新注册了。。。
- centos redis
- 设置页眉的章节及标题方法
- 设置页眉的章节及标题方法
- SQL技巧之分类汇总
- 大话机器学习之数据预处理与数据筛选
- 何以解忧唯有杜康
- Oracle heap 表的主键 dump 分析
- 为什么构造函数不能声明为虚函数,析构函数可以
- Sybase_游标
- hdu 1254(搜索题)
- Oracle heap 表的主键 dump 分析
- jQuery中的动画