红联Linux门户
Linux帮助

2012年11月10号,百度笔试题求解

发布时间:2012-11-17 21:56:36来源:红联作者:suowenair
百度笔试题:
从一个日志文件中读取读取日志,要求每一条日志的读取概率是一样的,比如文件中有2W个日志,那么每一个日志读取的概率都是1/20000,当日志数为20001时,那么每个日志读取的概率为1/20001,同时日志的增加是不定时的,会增加的很快,要读100条日志,如何提高实时性?
求解
文章评论

共有 2 条评论

  1. zcc1307 于 2012-11-18 15:29:18发表:

    这样行不行:
    一直维护一个大小为100的池,假设这是一个在线算法:
    新来一个记录(假设为第i(i>100)条),就以100/i概率将这个记录加进来,同时以1/100的概率把池子里的一条记录踢掉。
    归纳法证明是保持均匀的:i=100作为归纳基础显然成立。
    归纳步骤:1.第i条记录以概率100/i出现。2.对j所以能保证永远是均匀的。

  2. weidrson 于 2012-11-18 08:53:35发表:

    帮你顶一下