avatar
郭德纲乘缆车# Joke - 肚皮舞运动
n*g
1
我在careercup上看到一道题目是:
Write a class that displays average of stock prices for a given stock symbol
for the last 10 minutes. We have a service that sends stock updates about
5000 times per second. The structure of the message is :
Message {
long timestamp;
String symbol; // E.g. AAPL
double price;
}
像这种类型的题目,大家有没有好的资料,可以集中练习的?
顺便问一下这道题怎么解,多谢各位!
avatar
h*e
2
这咋预测的。。。。
avatar
r*i
3
有人看得出是谁么?
avatar
R*i
4
需要把数据放进堆里吧?如果堆没满,只有死求平均价了,如果堆满了,前一个平均价
跟后一个平均价有非常简单的关系。
也许不需要把所有5000*600的价钱都存起来,一秒100次也许足够了?
avatar
c*7
5
两房还是没有太大动静啊。

【在 h********e 的大作中提到】
: 这咋预测的。。。。
avatar
H*g
6
瞎说,是于谦
avatar
n*g
7
能否给个完整的code?
avatar
c*r
8
老美不经常搞这些数字游戏吗
先一月份发布一个数字,二月份修正降低一月份的,于是二月份也beat了,以此类推

【在 h********e 的大作中提到】
: 这咋预测的。。。。
avatar
wy
9
你这也太老了

【在 r***i 的大作中提到】
: 有人看得出是谁么?
avatar
s*x
10
这是网上看到的别人的解答。
http://www.careercup.com/question?id=4827656025538560
Use a ring buffer (circular queue) of type Message of size 5000*60*10 which
is 3000000B or 3MB. The memory footprint will be 3MB*sizeof(Message) so that
gives us upper limit of 100MB (string ticker are no more than 4B and fixed
length for int64/double).
Maintain a rolling sum (type double) and every time adding a stock price,
add it to sum and subtract the last purged value.
Simply return sum/Total entries
avatar
h*e
11
这不爬了几个点了。。。主要是鸡血还不够。。MM也不好发挥。。慢来慢来

【在 c*******7 的大作中提到】
: 两房还是没有太大动静啊。
avatar
n*g
12

which
that
fixed
我也是看的这个帖子.....

【在 s********x 的大作中提到】
: 这是网上看到的别人的解答。
: http://www.careercup.com/question?id=4827656025538560
: Use a ring buffer (circular queue) of type Message of size 5000*60*10 which
: is 3000000B or 3MB. The memory footprint will be 3MB*sizeof(Message) so that
: gives us upper limit of 100MB (string ticker are no more than 4B and fixed
: length for int64/double).
: Maintain a rolling sum (type double) and every time adding a stock price,
: add it to sum and subtract the last purged value.
: Simply return sum/Total entries

avatar
R*i
13

which
that
fixed
我个人比较反对用circular queue, 双向链表效率低下,在这种实时要求很高的情况下
,显然不是好办法。
因为数据大小已经固定,所以我觉得可以用固定数组。然后分别用两个index来指出头
和尾,这样FIFO操作可以直接替换数据.

【在 s********x 的大作中提到】
: 这是网上看到的别人的解答。
: http://www.careercup.com/question?id=4827656025538560
: Use a ring buffer (circular queue) of type Message of size 5000*60*10 which
: is 3000000B or 3MB. The memory footprint will be 3MB*sizeof(Message) so that
: gives us upper limit of 100MB (string ticker are no more than 4B and fixed
: length for int64/double).
: Maintain a rolling sum (type double) and every time adding a stock price,
: add it to sum and subtract the last purged value.
: Simply return sum/Total entries

avatar
n*g
14

能否给个代码?

【在 R*****i 的大作中提到】
:
: which
: that
: fixed
: 我个人比较反对用circular queue, 双向链表效率低下,在这种实时要求很高的情况下
: ,显然不是好办法。
: 因为数据大小已经固定,所以我觉得可以用固定数组。然后分别用两个index来指出头
: 和尾,这样FIFO操作可以直接替换数据.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。