整数对应这一秒的论坛在线人数。假设一天开始时论坛在线人数为0,则第1秒的人数o
li
e_
um0delta0。第
1秒的人数
o
li
e_
um
o
li
e_
um
1delta
。这样我们就获得了一天中任意时间的在线人数。6、腾讯笔试题:从10G个数中找到中数在一个文件中有10G个整数,乱序排列,要求找出中位数。内存
限制为2G。不妨假设10G个整数是64bit的。2G内存可以存放256M个64bit整数。
精品文档
f精品文档
我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。
如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围256M228,所以最多需要3次就可以将此范围缩小到1,也就找到了中数。
7、腾讯笔试题:两个整数集合A和B,求其交集两个整数集合A和B,求其交集。1读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。2读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。通过更改map中的值,避免了将同样的值输出两次。8、腾讯笔试题:找出1到10w中没有出现的两个数字有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数申请10w个bit的空间,每个bit代表一个数字是否出现过。开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。然后依次读入已经打乱循序的数字,并将对应的bit设为1。当处理完所有数字后,根据为0的bit得出没有出现的数字。首先计算1到10w的和,平方和。然后计算给定数字的和,平方和。两次的到的数字相减,可以得到这两个数字的和,平方和。
所以我们有xy
x2y2m
解方程可以得到x和y的值。
9、腾讯笔试题:需要多少只小白鼠才能在24小时内找到毒药
有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒
最容易想到的就是用1000只小白鼠,每只喝一瓶。但显然这不是最好答案。既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢
首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的
由于每只小白鼠都只有死或r