交易日
来源:互联网 发布:淘宝店铺优惠券 编辑:程序博客网 时间:2024/04/30 07:00
在股市的交易日中,假设最多可进行两次买卖(即买和卖的次数均小于等于2),规则是必须一笔成交后进行另一笔(即买-卖-买-卖的顺序进行)。给出一天中的股票变化序列,请写一个程序计算一天可以获得的最大收益。请采用实践复杂度低的方法实现。
给定价格序列prices及它的长度n,请返回最大收益。保证长度小于等于500。
测试样例:
[10,22,5,75,65,80],6
返回:87
这道题可以用动态规划法来做。用i把时间分成两部分,分别取两部分的最大收益,经过判断就可以得到最合适的i,即得到最大收益
代码如下:
import java.util.*;public class Stock { public int maxProfit(int[] prices, int n) { // write code here int[] pre_pro = new int[n]; int[] last_pro = new int[n]; int min_buy = prices[0]; for(int i=1; i<n; i++) { min_buy = Math.min(prices[i], min_buy); pre_pro[i] = Math.max(pre_pro[i-1], prices[i] - min_buy); } int max_sell = prices[n-1]; for(int i=n-2; i>=0; i--) { max_sell = Math.max(prices[i], max_sell); last_pro[i] = Math.max(last_pro[i+1], max_sell-prices[i]); } int res = 0; for(int i=0; i<n; i++) { res = Math.max(res, pre_pro[i]+last_pro[i]); } return res; }}
0 0
- 交易日
- 基金交易日、开放日
- python判断交易日
- Java获取股市交易日
- 港交所2012交易日列表
- 交易
- 交易
- 人民币期权将于4月1日开始交易
- 经纬财富:南阳7月16日金银交易须知
- 经纬财富:西安7月16日金银交易须知
- 10月8日金银投资交易策略
- 10月13日金银投资交易策略
- 10月14日金银投资交易策略
- 10月15日金银投资交易策略
- 10月16日金银投资交易策略
- 10月17日金银投资交易策略
- python 根据今天 算下一个交易日或者工作日
- Oracle国家节假日以及交易日筛选的存储过程
- 对于layer_v1.9 ~ v3.0之间弹出层标题不居中和按钮设置居中无效的解决方案
- dts文件和dtsi文件
- ubuntu安装 mpich
- c++ 内置宏
- JavaWeb数据库开发知识总结(xml)
- 交易日
- Greenplum 扩容遇到问题后的心得体会
- linux命令
- EF CodeFirst模式下,模型和业务逻辑处在不同项目的自动数据迁移实现
- bzoj1977 [BeiJing2010组队]次小生成树 Tree
- HTML5缓存技术
- 两种方法求n!,递归和非递归调用
- Java反射详解
- QT布局和ui简单使用