avatar
请教几个题目# JobHunting - 待字闺中
y*3
1
朋友内推的groupon goods,过几天就要电面了,考古发现几个groupon的面经,有几个
题目请教一下:
1. unfair coin,flip的几率是:head 1/4,tail 3/4,请写个function返回投head和
tail各是50%
2. 很多machine发message,怎么样才能不发重复的?
3. 无限数据流,怎样求最近的100万个数字中最大的数?
顺便问下,groupon goods的电面难不难?谢谢!
avatar
l*a
2

扔2次或多次
ignore head,head/tail,tail
then head,tail/tail,head各返回50%

【在 y*****3 的大作中提到】
: 朋友内推的groupon goods,过几天就要电面了,考古发现几个groupon的面经,有几个
: 题目请教一下:
: 1. unfair coin,flip的几率是:head 1/4,tail 3/4,请写个function返回投head和
: tail各是50%
: 2. 很多machine发message,怎么样才能不发重复的?
: 3. 无限数据流,怎样求最近的100万个数字中最大的数?
: 顺便问下,groupon goods的电面难不难?谢谢!

avatar
l*a
3

两个list?
一个存顺序,一个存max sofar
满100W以后,每次remove the oldest then remove from max sofar
再插入最新的到相应位置
###内存不够的话再说

【在 y*****3 的大作中提到】
: 朋友内推的groupon goods,过几天就要电面了,考古发现几个groupon的面经,有几个
: 题目请教一下:
: 1. unfair coin,flip的几率是:head 1/4,tail 3/4,请写个function返回投head和
: tail各是50%
: 2. 很多machine发message,怎么样才能不发重复的?
: 3. 无限数据流,怎样求最近的100万个数字中最大的数?
: 顺便问下,groupon goods的电面难不难?谢谢!

avatar
w*d
4
3. 无限数据流,怎样求最近的100万个数字中最大的数?
我觉得应该用multiset + list,每次得到一个数后:
1)insert into multiset, get iterator;
2)list.push_back(iterator);
3)if list.size() > 100w, multiset.erase(list.front()) and list.pop_front();
max value is always (*multiset.begin());
avatar
o*n
5
3. 无限数据流,怎样求最近的100万个数字中最大的数?
每次比较,记录3个最大值, 和他们的位置。如果位置超过100M, 找新的更新最大值。
这个什么意思?
2. 很多machine发message,怎么样才能不发重复的?
avatar
l*6
6
3.
struct data{
int idx;
int val;
data(int id , int v):idx(id),val(v){}
};
int wlen = 100M;
int curVal;
int curIdx = 0;
list window;
while(cin >> curVal)
{
while(!window.empty() && window.back().val <= curVal)
window.pop_back();
window.push_back(data(curIdx , curVal));
curIdx ++;
if(curIdx - window.front().idx > wlen)
window.pop_front();
cout << window.front().val<}
avatar
l*6
7
2.
hash the message , assign messages with hash values within hashValueRangei
to machinei, remove duplicate within the machine
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。