[其他] 请机灵的你给出答案(sorry上次表述不准确)

一支股票当然是有涨有跌,请说明如何计算出一段时间(例如10个开市日)内投资哪几天天的股票获利最大? 要求给出最有效率的方法。(两天当然不一定紧挨的两天)

就是说这个数组里有正数有负数,如何计算MAXIMALE TEILSUMME。




[ 本帖最后由 班超 于 2006-12-19 18:57 编辑 ]

线性搜索就是把一堆数过一遍 复杂度O(n) 楼上的楼上 找最值还用得着排序?
末世征象:地震 粮荒 战争 瘟疫 世界四分五裂

TOP

原帖由 wilma 于 2006-12-19 18:49 发表
在一维空间里扫描一下就行了(Scan-Line-Methode),时间还是线性的。

不懂什么是 Scan-Line-Methode , Wilma 前辈能不能简要介绍一哈?

TOP

原帖由 wilma 于 2006-12-18 20:20 发表
通过被简化的冒泡算法可以通过n-1次比较把最大值溢出,然后再通过n-2比较把最小值溢出。这样一共比较了2n-3次,n是开市日的个数。

难道还要用起泡算法排序?  十个值谁最大谁最小,一眼看不出来吗?  所以还是说, 假扮女尸 、夜袭美男的班超班老江湖, 题目条件还是不全啊。  

TOP

在一维空间里扫描一下就行了(Scan-Line-Methode),时间还是线性的。

TOP

一支股票当然是有涨有跌,请说明如何计算出一段时间(例如10个开市日)内投资哪几天天的股票获利最大? 要求给出最有效率的方法。(两天当然不一定紧挨的两天)

就是说这个数组里有正数有负数,代表股票的升降值,如何计算MAXIMALE TEILSUMME。

比如{2,-3,4,...}

[ 本帖最后由 班超 于 2006-12-19 18:59 编辑 ]

TOP

通过被简化的冒泡算法可以通过n-1次比较把最大值溢出,然后再通过n-2比较把最小值溢出。这样一共比较了2n-3次,n是开市日的个数。

TOP

o

怎么?

TOP

一把尺子在该股票走势图上一划不就知道了
末世征象:地震 粮荒 战争 瘟疫 世界四分五裂

TOP

题目貌似是10天内的最高价和最低价么?
(select st.ID,st.Name,st.datum
form stock as st, stock as maxp
where st.preis=Max(maxp.preis) und datediff(tt-mm-yyyy,maxp.datum,getdate();)<=10)
UNION
(select st.ID,st.Name.stdatum
form stock as st, stock as minp
where st.preis=Min(minp.preis) und datediff(tt-mm-yyyy,minp.datum,getdate();)<=10)

[ 本帖最后由 qquchn 于 2006-12-18 00:01 编辑 ]
末世征象:地震 粮荒 战争 瘟疫 世界四分五裂

TOP