一个很老的游戏,是股票怎么买进卖出东西卖出东西,去...

对于只有一次买入卖出的最大收益可以参照,已经将的非常详细了

当时做完这种情况后,考官又提出如果可以买入卖出两次,如何在O(N)的时间复杂度下解决问题,当时没有想出来,结果就挂了,今天想把这个问题解决掉

思路大体是这样的,如果要***两次的话(这里允许在同一时间卖出再买入,但是不允许同一时间买入再卖出),必定是在某一个时间点的两边进行买入和卖出的,这样就可以把问题简化为在某一个时间点左右进行一次股票买入和卖出的最大收益了。

其中在某一个时间节点左侧的最大收益是可以通过O(N)的时间复杂度得到的,只要在第一问的基础上设置一个数组ret1List[] 来存放当前节点的最大收益就可以了。问题是如何接下来计算右边的最大收益,最后发现如果将数组从后到前来遍历,再设置一个数组ret2List[] 来存放当数组从后到前来遍历时当前的最小收益,那么-1 * ret2List[]的值就对应了右边的最大收益。最后再遍历一遍,找到ret1List[i] - ret2List[i]的最大值,就是所要求的结果

  大盘指数:指股票市场的整体趋势;大盘指数=当前股票均价/上一日收市时股票均价*上一日收市时大盘指数;

  涨幅%:当前大盘指数相对上一日收市时大盘指数的涨跌幅度;涨幅%=(当前大盘指数-上一日收市时大盘指数)/上一日收市时大盘指数*100%;

  总额:本日股票市场成交总金额。

  序号:当前板块股票的排列顺序

  代码:股票的代码(每支股票都有一个唯一的代码标识)

  涨幅%:当前股票价格相对上一日收市价格的涨跌幅度;涨幅%=(当前价-上一日收市价)/上一日收市价*100%

  现价:当前最新成交价格

  涨额:当前股票价格相对上一日股票收盘价格的涨跌额度;涨额=现价-上一日股票收盘价

  买入价:当前买入委托中排名第一的价格

  卖出价:当前卖出委托中排名第一的价格

  总量:本日成交的股票总量,以手为单位,每手=100股

  总额:本日成交的股票总价值

  涨速%:指当前价格相对5分钟前价格的涨跌速度;涨速%=(当前价格-5分钟前价格)/5分钟前价格*100%

  换手%:股票转手***的频率,反映股票流通性的指标;换手%=当前的总成交量/发行总股数*100%

  今开:本日12点开市时产生的开盘价

  昨收:上一日收市时最后一笔现价价格

  最高:本日该支股票最高成交价格

  最低:本日该支股票最低成交价格

  振幅%:本日最高价、最低价之差与上一日收市价格的对比;振幅%=(当日最高价-当日最低价)/上一日收市价*100%

  量比:观察交易量(手)变化的指数;量比=当前每分钟成交均量/过去7天的每分钟成交均量

  均价:指本日所有成交的股票平均价格

  委比%:委比是衡量某一时段买、卖相对强度的指标;委比%=(前三个委托价位的买入手数-前三个委托价位的卖出手数)/(前三个委托价位的买入手数+前三个委托价位的卖出手数)×100%

  委差:反映买、卖委托双方的力量对比;委差=买方前5个价位的委托交易总手数-卖方前5个价位的委托交易总手数

  外盘:本日开市期间主动去迎合卖方委托价格而成交的股票数量(买方需求大)

  内盘:本日开市期间主动去迎合买方委托价格而成交的股票数量(卖方需求大)

  买入申请:由高到底的顺序,排列5个最高的价位及该价位上委托买入的总手数

  卖出申请:由低到高的顺序,排列5个最低的价位及该价位上委托卖出的总手数

  收益:表示每股未分配的累计红利金额;收益=累计未分配红利总额/该股流通总股数

  市值:该商家当前总市值;市值=当前价格*流通总股数

  流通股本:指该股票发行的总股数

  强弱度%:该股走势与市场大盘走势的对比情况;强弱度%=(该股涨跌幅%-指数涨跌幅%)*100%

  上市日期:该股票第一天发行的日期

  ①股票信息中“涨幅、现价、涨额、买(卖)价格、涨速、今开、最高价、最低价、均价、委比、内(外)盘等”均以涨、跌的实际情况来改变字体颜色,绿色代表跌、红色代表涨、白色代表维持昨日收盘价格;

  ②股票信息中“股票代码、股票名称、交易量、买(卖)量等”均以固定的***字体显示;

  ③其余股票信息均以固定的白色字体显示。

  交易委托信息显示的是某支股票上一次配对交易结束后,***双方不符合成交条件的价格排序;

  买方:价格由高到底的顺序排列,同时显示每个价格下的委托交易的股票手数(每手=100股)

  卖方:价格由低到高的顺序排列,同时显示每个价格下的委托交易的股票手数(每手=100股)

  备注:图示中白色价格代表昨天的收盘价,绿色价格代表跌势(小于昨天收盘价格),红色代表涨势(大于昨天收盘价格)

  价格走势图显示的是某支股票在本交易日内“现价”及“均价”的详细变化,以及每次撮合成交时交易的股票总量变化,此走势图分为2个部分:价格走势图(上半部)和成交量变化图(下半部);

  价格走势图:横轴代表时间,纵轴(右)代表价格、纵轴(左)代表涨幅%;

  每产生一个新的“现价”时就会与上一个“现价”或“开盘价”以白色线条相连,同时价格走势图中还会有一条***线条,代表成交均价的走势;

  成交量变化图:横轴代表时间,纵轴代表成交量(手数);

  每次交易后,即会统计本次交易的成交总手数,并在表中对应的坐标上显示一条***柱线。

  是统计某支股票在单位时间内历史价格变化的技术分析图,又称为“K线图”。它与价格走势图相同、也分为2个部分:价格分析图(上半部)和成交量分析图(下半部)。

  (图示中的K线图采用的是虚拟数据,所以价格变化不大,且均匀)

  价格分析图:横轴代表时间(日、周),纵轴代表价位;价格图是以多个单位时间相同的K线组成,每根K线又由每个分析周期的开盘价、最高价、最低价、和收盘价绘制而成。

  每根K线以颜色标识其涨势(红色)、跌势(绿色),涨跌的区别就在于产生开盘价后,其K线的延伸方向不动,涨势是朝上延伸,跌势是朝下延伸。

  时间单位:K线的时间单位分为日、周两种

  日线:由单个交易日的开盘价、收盘价、最高价、最低价绘制而成;

  周线:由一周首日的开盘价、最后一个交易日的收盘价、本周最高价、本周最低价绘制而成。

  均价线:在K线图中还存在着3条不同时间单位的收盘价格平均曲线,分别以白色、***、粉色标识;

  白色:代表以往7日收盘价的平均价格;周K线取以往4周的每周最后一个交易日的平均收盘价;

  ***:代表以往14日收盘价的平均价格;周K线取以往8周的每周最后一个交易日的平均收盘价;

  粉色:代表以往30日收盘价的平均价格;周K线取以往12周的每周最后一个交易日的平均收盘价。

  成交量分析图:横轴代表时间(日、周),纵轴代表成交总手数(每手=100股);成交量分析图是以单位时间内总成交股数绘制而成的柱状图。

  同K线相同,显示成交量的柱状图也以红、绿表示其单位时间内的涨、跌势。其时间但也与K线图相同,分为日、周两种。

  均量线:在成交量分析图中也存在着2条不同时间单位的平均成交量曲线,分别以白、黄标识;

  白色:代表以往7日的平均成交量;周线图中取的是以往4周的平均成交量;

  ***:代表以往14日的平均成交量;周线图中取的是以往8周的平均成交量。

  是统计每次配对交易的具体交易情况;

  时:股票成交的时间

  价:股票成交的价格

  量:该价位上成交的股票总手数

  笔:此次成交中有几个交易委托组成

  以成交价位为单位,统计每个价位下的具体交易情况;

  价格:该股票在本交易日内成交的一个价格

  成交量:在该价位上成交的股票总手数(每手=100股)

  占总量比例:在该价位上的成交量占该股本日总成交量的比例

  竞买率:主动迎合卖方价位成交的股票数量占该价位成交量的比例

  成交笔数:该价位成交量由多少个买入委托组成

  每笔均量:成交量/成交笔数

  股票交易界面是依靠游戏客户端开启,但又独立于游戏客户端以外的操作界面,该界面

  由功能区、行情区、交易区、事件区组成。

  (梦幻股票系统交易界面)

  由“系统、交易、查询、分析、咨询”功能按钮组成;

  系统:(下拉菜单按钮)

  初始版面——使股票界面的“行情区”返回到初始的股票版面

  帮助——股票交易帮助手册

  退出——关闭股票交易界面

  交易:(下拉菜单)

  交易账户——开启“交易区”的按钮

  存入资金——从创建交易账户的游戏ID身上转移现金到交易账户内

  取出资金——从交易账户内转移现金到创建交易账户的游戏ID身上

  查询:(下拉菜单)

  商家资料——在股票界面的“行情区”内显示当前选定的股票所属商家信息

  综合排名——根据部同的指标将当前板块内的股票进行排列

  报表分析——在股票界面的“行情区”内显示各版块的数据信息

  ① 板块分为:全部、行业、地域、自选(自定义)

  ② 涨幅:本日该板块内所有股票的平均涨幅(计算每支股票的流通股数占板块总股数的比例)

  ③ 总成交量:该板块内所有股票本日的总成交手数(每手=100股)

  ④ 总金额:该板块内所有股票本日的总成交金额

  ⑤ 市场比%:该版块内所有股票的总流通股票数量/所有股票的总流通股数

  ⑥ 换手率%:本日该版块内股票的总成交量/该板块内股票总流通股数

  ⑦ 领涨股票:本日该板块内涨幅最高的股票名称

  ⑧ 涨股比:本日该板块内处于涨势的股票种类/该板块总股票种类

  税率查询——查询目前股票交易所需缴纳的手续费率

  停牌股票——查询目前停牌的股票及某支股票历史停牌记录

  分析:(下拉菜单)

  指数分析——在股票界面“行情区”内显示股市大盘指数的走势及股市的交易具体情况,与单股“价格走势图”类似

  即时分析——在股票界面“行情区”内显示当前选定股票的价格走势图”

  技术分析——在股票界面“行情区”内显示当前选定股票的技术分析图”也称“K线图”,以时间单位分为“日、周”两个分析周期

  逐笔成交明细——在股票界面“行情区”内显示当前选定股票本交易日的“成交明细表”

  分价表——在股票界面“行情区”内显示当前选定股票本交易日的“分价表”

  咨询:(下拉菜单)

  查询本日及历史随机事件

  主要显示股票的信息、数据统计等,行情区以板块划分,分别是全部、行业、地域、自选;

  全部:把当前上市交易的所有股票全部列出

  行业:根据类型划分股票种类,例如选择酒店,则行情区内会把当前上市交易的酒店类股票全部列出

  地域:根据地域划分股票种类,例如选择北俱芦洲,则行情区内会把当前属于北俱芦洲的股票的列出

  自选:投资者以自定义的方式将上述3个板块的任意股票添加到自选板块

  是投资者***股票,统计账户信息的区域;整个区域分为:功能区、财产统计区、股票信息区

  资金股份——返回到“交易区”的初始版面

  买入——填写买入委托

  ①买入价格的范围必须是上一交易日收盘价正负30%

  ②买入数量必须为100的整倍数

  卖出——填写卖出委托

  ①卖出价格的范围必须是上一交易日收盘价正负30%

  ②卖出数量必须为100的整倍数

  撤单——取消当前未成交的***交易委托

  ①撤单成功后,买入委托会被取消,买入股票预缴的费用和交易手续费会被返还到交易账户内

  ②撤单成功后,卖出委托会被取消,卖出的股票会被返还到交易账户内

  新股认购——投资者认购新股的途径,与买入股票的操作方式相同,只是购买数量必须为1000的整倍数

  查询——交易委托、成交记录、资金流水等信息的查询途径

  显示交易账户的资金信息、股票价值、盈亏信息等;

  账户赢利:统计交易账户历史总盈亏

  可用现金:当前可用于交易或提取的现金

  股票市值:每支股票的最新市值之合

  当前资产:可用现金+股票市值

  盈亏:每支股票的盈亏金额之合

  盈亏率:(股票最新总市值-(每支股票成本*股数,的总合))/(每支股票成本*股数,的总合)*100

  显示持有股票的具体信息;

  成本价:(实际成交价格*股票数量+税金)/股票数量

  当前价:该股票的最新价格

  最新市值:股票最新价格*股票数量

  盈亏:(最新价格*股票总数)-(成本价*股票总数)

  盈亏率:盈亏/(成本价*股票总数)*100

  显示大盘信息及随机事件的区域,图中“▲消息”是可点击的按钮,可开启事件查询列表。

  为了方便新手玩家的操作,我们还提供了一个简洁版的操作界面(默认界面),玩家开启股票界面后,可在界面右上角点击“进入完整版”进入完整的股票操作界面:

  仅仅保留了 界面帮助、存钱、取钱功能;

  仅显示每支股票相对重要的价格信息、涨跌幅信息等;


参考资料

 

随机推荐