如何液晶电视快速判断故障这几个数是否在那40亿个数当中

Java实现,给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
Java实现,给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
方案1:oo,申请512M的内存,一个bit位代表一个unsigned int值。读入40亿个数,设置相应的bit位,读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在。
&&& dizengrong:
方案2:这个问题在《编程珠玑》里有很好的描述,大家可以参考下面的思路,探讨一下:
又因为2^32为40亿多,所以给定一个数可能在,也可能不在其中;
这里我们把40亿个数中的每一个用32位的二进制来表示
假设这40亿个数开始放在一个文件中。
&&& 然后将这40亿个数分成两类:
1.最高位为0
2.最高位为1
并将这两类分别写入到两个文件中,其中一个文件中数的个数&=20亿,而另一个&=20亿(这相当于折半了);
与要查找的数的最高位比较并接着进入相应的文件再查找
&&& 再然后把这个文件为又分成两类:
1.次最高位为0
2.次最高位为1
&&& 并将这两类分别写入到两个文件中,其中一个文件中数的个数&=10亿,而另一个&=10亿(这相当于折半了);
与要查找的数的次最高位比较并接着进入相应的文件再查找。
以此类推,就可以找到了,而且时间复杂度为O(logn),方案2完。
--- 共有 3 条评论 ---
套路少一点。翻译成白话 : 1,遍历。2,二分查找。
: 都说这么清楚了还写不出代码?
这几十亿个数可能是 0 到 1000 亿,bit map 的方式行不通
--- 共有 1 条评论 ---
int 最大值
位图法可用
可以使用全文索引的方式
楼主都没说这40亿个整数是存储在哪,怎么存储的.
如果是以"4,3,1,2,"的形式存储在文件num.txt,直接grep即可:
php & echo (shell_exec('grep "3," ./num.txt')) ? '存在' : '不存在';
--- 共有 4 条评论 ---
: 看见没,就算调用shell的grep,都要用php,哈哈哈我笑死了
40亿个数里面含有3的数字太多了,我不敢想象
你就是个2货,别人问的解决思路,你来个grep.
根据我微薄的理解,数字有"12,13,14"也含有"3,"
不知道二叉搜索树能不能满足你的需求,或者是hash
扫一遍咯,还能咋地,在上边建任何索引的过程都不会比扫一遍更快吧
--- 共有 1 条评论 ---
按照我浅薄的知识点,我知道有比扫一遍更快的做法
如果从算法层面考虑,布隆过滤器,有一定的误报率,调整的好,可以做到极低,40亿的数据也就会出现一两个误报。商数过滤器,新一代精确的过滤器,不会有错误率问题,但空间要求比前者大多了。如果数据重复率高,hash也能搞定这个问题;如果要求不高,从系统层面解决,用ElasticSearch或者solor,优化的好,可以达到亚毫秒级
脑洞又开了
引用来自“呼啦_小呆”的评论
方案1:oo,申请512M的内存,一个bit位代表一个unsigned int值。读入40亿个数,设置相应的bit位,读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在。
&&& dizengrong:
方案2:这个问题在《编程珠玑》里有很好的描述,大家可以参考下面的思路,探讨一下:
又因为2^32为40亿多,所以给定一个数可能在,也可能不在其中;
这里我们把40亿个数中的每一个用32位的二进制来表示
假设这40亿个数开始放在一个文件中。
&&& 然后将这40亿个数分成两类:
1.最高位为0
2.最高位为1
并将这两类分别写入到两个文件中,其中一个文件中数的个数&=20亿,而另一个&=20亿(这相当于折半了);
与要查找的数的最高位比较并接着进入相应的文件再查找
&&& 再然后把这个文件为又分成两类:
1.次最高位为0
2.次最高位为1
&&& 并将这两类分别写入到两个文件中,其中一个文件中数的个数&=10亿,而另一个&=10亿(这相当于折半了);
与要查找的数的次最高位比较并接着进入相应的文件再查找。
以此类推,就可以找到了,而且时间复杂度为O(logn),方案2完。
这个方案1是可行的.
但有一个要求就是这40亿个数中每个数都要在2^64以内.
这样才好标记每个数所在的位置.判断 一个新的数时才能o(1)判断出来.
方案2无非就是一个二分法,在40亿这么大的数据中,性能是低效的,不建议.
1.如果内存充足,可以一次放到Set中,时间复杂O(1);不知道你尝试过没
2.int 最大值2^32 =& 减去
&=& 如果内存不够可以尝试找出不在40亿内的2900多万放到Set中,反向判断。
没有专门去读这方面的资料,不行就当我随口瞎掰。。 您现在的位置:&&>>&&>>&&>>&腾讯笔试题正文
腾讯笔试题
腾讯笔试题
作者/编辑:佚名
  腾讯是国内数一数二的IT企业了,。那么每年想要进入腾讯公司的应聘者也是络绎不绝。那么一个好的笔试答卷绝对是脱颖而出的亮点。现在就来看看腾讯笔试题都有哪些内容吧。
  腾讯笔试题:const的含义及实现机制
  const的含义及实现机制,比如:const int i,是怎么做到i只可读的?
  const用来说明所定义的变量是只读的。
  这些在编译期间完成,编译器可能使用常数直接替换掉对此变量的引用。
  腾讯笔试题:买200返100优惠券,实际上折扣是多少?
  到商店里买200的商品返还100优惠券(可以在本商店代替现金)。请问实际上折扣是多少?
  由于优惠券可以代替现金,所以可以使用200元优惠券买东西,然后还可以获得100元的优惠券。
  假设开始时花了x元,那么可以买到 x + x/2 + x/4 + ...的东西。所以实际上折扣是50%.(当然,大部分时候很难一直兑换下去,所以50%是折扣的上限)
  如果使用优惠券买东西不能获得新的优惠券,那么
  总过花去了200元,可以买到200+100元的商品,所以实际折扣为 200/300 = 67%.
  腾讯笔试题:tcp三次握手的过程,accept发生在三次握手哪个阶段?
  accept发生在三次握手之后。
  第一次握手:客户端发送syn包(syn=j)到服务器。
  第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个ASK包(ask=k)。
  第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1)。
  三次握手完成后,客户端和服务器就建立了tcp连接。这时可以调用accept函数获得此连接。
  腾讯笔试题:用UDP协议通讯时怎样得知目标机是否获得了数据包
  用UDP协议通讯时怎样得知目标机是否获得了数据包?
  可以在每个数据包中插入一个唯一的ID,比如timestamp或者递增的int。
  发送方在发送数据时将此ID和发送时间记录在本地。
  接收方在收到数据后将ID再发给发送方作为回应。
  发送方如果收到回应,则知道接收方已经收到相应的数据包;如果在指定时间内没有收到回应,则数据包可能丢失,需要重复上面的过程重新发送一次,直到确定对方收到。
  腾讯笔试题:统计论坛在线人数分布
  求一个论坛的在线人数,假设有一个论坛,其注册ID有两亿个,每个ID从登陆到退出会向一个日志文件中记下登陆时间和退出时间,要求写一个算法统计一天中论坛的用户在线分布,取样粒度为秒。
  一天总共有 3600*24 = 86400秒。
  定义一个长度为86400的整数数组int delta[86400],每个整数对应这一秒的人数变化值,可能为正也可能为负。开始时将数组元素都初始化为0。
  然后依次读入每个用户的登录时间和退出时间,将与登录时间对应的整数值加1,将与退出时间对应的整数值减1。
  这样处理一遍后数组中存储了每秒中的人数变化情况。
  定义另外一个长度为86400的整数数组int online_num[86400],每个整数对应这一秒的论坛在线人数。
  假设一天开始时论坛在线人数为0,则第1秒的人数online_num[0] = delta[0]。第n+1秒的人数online_num[n] = online_num[n-1] + delta[n]。
  这样我们就获得了一天中任意时间的在线人数。
  腾讯笔试题:从10G个数中找到中数
  在一个文件中有 10G 个整数,乱序排列,要求找出中位数,《》()。内存限制为 2G。
  不妨假设10G个整数是64bit的。
  2G内存可以存放256M个64bit整数。
  我们可以将64bit的整数空间平均分成256M个取值范围,用2G的内存对每个取值范围内出现整数个数进行统计。这样遍历一边10G整数后,我们便知道中数在那个范围内出现,以及这个范围内总共出现了多少个整数。
  如果中数所在范围出现的整数比较少,我们就可以对这个范围内的整数进行排序,找到中数。如果这个范围内出现的整数比较多,我们还可以采用同样的方法将此范围再次分成多个更小的范围(256M=2^28,所以最多需要3次就可以将此范围缩小到1,也就找到了中数)。
  腾讯笔试题:两个整数集合A和B,求其交集
  两个整数集合A和B,求其交集。
  1. 读取整数集合A中的整数,将读到的整数插入到map中,并将对应的值设为1。
  2. 读取整数集合B中的整数,如果该整数在map中并且值为1,则将此数加入到交集当中,并将在map中的对应值改为2。
  通过更改map中的值,避免了将同样的值输出两次。
  腾讯笔试题:找出1到10w中没有出现的两个数字
  有1到10w这10w个数,去除2个并打乱次序,如何找出那两个数?
  申请10w个bit的空间,每个bit代表一个数字是否出现过。
  开始时将这10w个bit都初始化为0,表示所有数字都没有出现过。
  然后依次读入已经打乱循序的数字,并将对应的bit设为1。
  当处理完所有数字后,根据为0的bit得出没有出现的数字。
  首先计算1到10w的和,平方和。
  然后计算给定数字的和,平方和。
  两次的到的数字相减,可以得到这两个数字的和,平方和。
  所以我们有
  x + y = n
  x^2 + y^2 = m
  解方程可以得到x和y的值。
  腾讯笔试题:需要多少只小白鼠才能在24小时内找到毒药
  有1000瓶水,其中有一瓶有毒,小白鼠只要尝一点带毒的水24小时后就会死亡,至少要多少只小白鼠才能在24小时时鉴别出那瓶水有毒?
  最容易想到的就是用1000只小白鼠,每只喝一瓶。但显然这不是最好答案。
  既然每只小白鼠喝一瓶不是最好答案,那就应该每只小白鼠喝多瓶。那每只应该喝多少瓶呢?
  首先让我们换种问法,如果有x只小白鼠,那么24小时内可以从多少瓶水中找出那瓶有毒的?
  由于每只小白鼠都只有死或者活这两种结果,所以x只小白鼠最大可以表示2^x种结果。如果让每种结果都对应到某瓶水有毒,那么也就可以从2^x瓶水中找到有毒的那瓶水。那如何来实现这种对应关系呢?
  第一只小白鼠喝第1到2^(x-1)瓶,第二只小白鼠喝第1到第2^(x-2)和第2^(x-1)+1到第2^(x-1) + 2^(x-2)瓶....以此类推。
  回到此题,总过1000瓶水,所以需要最少10只小白鼠。
  腾讯笔试题:根据上排的数填写下排的数,并满足要求。
  根据上排给出十个数,在其下排填出对应的十个数, 要求下排每个数都是上排对应位置的数在下排出现的次数。上排的数:0,1,2,3,4,5,6,7,8,9。
  腾讯笔试题:判断数字是否出现在40亿个数中?
  给40亿个不重复的unsigned int的整数,没排过序的,然后再给几个数,如何快速判断这几个数是否在那40亿个数当中?
  答案:unsigned int 的取值范围是0到2^32-1。我们可以申请连续的2^32/8=512M的内存,用每一个bit对应一个unsigned int数字。首先将512M内存都初始化为0,然后每处理一个数字就将其对应的bit设置为1。当需要查询时,直接找到对应bit,看其值是0还是1即可。
腾讯笔试题2    〖预览〗
  刚刚结束考试回到宿舍,等待聚会的同时谢谢心得,也算对下一届弟弟妹妹们一些借鉴。如果要立志进银行,自己的知识水平一定要广,再者专业知识也一定要精,这也是一直以来的考试心得。话不多说主要谢谢今天考试内容吧,这次农信社的考试与本社很接近,主要体现了农信社的独特之处,讲银行与农村也和在一起,题目涉猎的范围也广,但都是一些基础,比如金融里的现值,会计的资金流量表项目是按什么排的之类的,没有计算机类的题,30道单选一题1分,20道多选总共18分,10道判断题总共5分,剩下的是材料题,和申论差不多,但是很贴切农信社,整个材料都是在讲青年员工加入农信社什么的,题目很简单,但是回答起来很难,第三问题就是让写一篇文章,谈谈青年员工如何提高个人能力和素质,题目自拟不得少于900个字。大致上就这样了,时间很充足,150分钟,提前交卷了,不想最后都交了回学校太挤,应为今年报农信社的人太多了~~下午刚参加完笔试,个人感觉单选还好,多选和判断做的一般,不过分值不高,多选20个,0.9分一个,判断十个,0.5分一个。
  2012年真题回忆版
  1、单选,30个,30分;多选20个,18分;判断10个,5分;材料题3道,47分
  单选题:1、农村集体用地,包括农民集体所有的建设用地、农用地和未利用地(选调生考过)
  2、恩格尔系数……【】腾讯笔试题3    〖预览〗
  这次的笔试类型和往年相似 题量也相当
  一个半小时
  上海一共两个考场 华理这边有213个考生
  估计光上海就有近500个
  从参考率来看 接近90%
  言归正传 说说题目
  第一大题:
  数理逻辑 图形推理 15道 15分
  第二大题
  逻辑和智力题10道 20分
  第三大题:
  思维策略
  1.如何解决高校占座问题 10分
  2.情形题:16分
  a.你是某超市A品牌洗发水的理货员,有顾客跑来问你B品牌洗发水在哪里,但是超市其实没有B品牌洗发水,而50米外另一家超市有,你会怎么说?
  b.你作为一个产品的推销员,花了20分钟向顾客详细介绍某产品,但对方仍然只是面无表情地说&我再看看&,你会怎么说?
  c.你在进行论文答辩,当你自信满满地向评委介绍了你的工作后,评委指出你的论文有一个重大漏洞,你怎么解释?
  3.面对就业压力,校领导希望出一份刊物指导学生求职,假设你是主编:
  a.给刊物起个名字,并设置栏目,说出目的及特色。
  b.给你一个月时间将刊物编辑、印刷及分发,你可以从以下五个人中选两个做助理:刘备、关羽、吕布、周瑜和蒋干。说出选择理由并规划一个月的具体工作安排。共10分
  4.(英语题)你和你的好朋……【】腾讯笔试题4    〖预览〗
  准备考试的时候在网上看到很多笔试经验,很谢谢发表的人。自己也是过来人,很理解备考时想要获得考试信息的焦急心情。昨天刚考完,把题目回忆了一下,不是很准确,以供后人参考。
  考试分两个单元,第一个单元是知识题,192题140分钟,第二部分是性格测试题,20题10分钟。
  下午两点开考,四点半考完。提前45分钟进场,把包放在指定位置,然后图像采集,入座。用准考证登陆考试系统,就可以看到你的相片和信息,核对确认。我是13:15准时进场,一看,100个人的考场才到了两个,照相后就在位置上活生生坐了半个多小时才等到2点钟开始考试。
  坐我旁边的是一个已经工作一两年了的姐姐,她说她是去年11月份报的的交行,这次春招居然也让来学校考试,她都惊异了,以为过了就算了呢。看现场还有好像是工作了的年轻人来参加考试,应该也是一样的11月份那次没有通知笔试,这次春季补招通知过来考试的吧。
  说一下考试系统界面,左上角显示你刚照的照片、姓名、考试类别等信息。右上角有&现在是第X题,共192题,倒计时,标记题目&。最下边有&上一题,下一题,答卷情况,结束单元&,点&答卷情况&就可以看到你的&已答&&未答&&ld……【】腾讯笔试题5    〖预览〗
  一大早跑去东湖高新科技园区,参加文思的笔试。一下车,发现园区的环境真的不错,至少让我对武汉的映像多少有点小小改良。这次去笔试,其实也纯粹是抱着好奇、好玩的心态,也不知道技术性职位的笔试到底是什么东西,看看自己应聘技术性职位的可能性。
  领到试卷,全英文的。
  第一题是字符串倒序的程序设计,还好看过笔经,原题。
  第二题,写个测试的程序,从来没写过测试程序,要是田杰做我旁边就没问题了。
  第三提,SQL检索问题,还好,过了。
  第四题,Huffman树和权值计算,汗,数据结构都快忘了,硬着头皮还是敷衍了下。
  第五题,给一组数字,用递归计算第27个数是什么,倒,看半天没看出来规律,give up!! y'
  第六题,open question的,我还是喜欢这样的题目,一通英语搞定!'
  最后一题,问在一个遇险的热气球上,有15个美国人和15个日本人,必须扔出去15个人才能让大家生还。其中一个美老提议,大家做循环数数,那个counted 9th(原话就是这样,不知道他到底想怎么数!)的家伙要被扔出去。最后让你写个程序,输出怎么样的位置给老美站,才能达到把15个鬼子给扔出去的效果。
  我一看题就乐了,果然是国人出的题目,连写个程序也得让鬼子死去,可惜我没那个天赋,不知……【】腾讯笔试题6    〖预览〗
  考试总共分两个部分,一开始说有三个题型,数列,应用题和图形推理,但是我只碰到了 数列和应用题。
  数列部分:题型有点难度,而且有分数,小数什么的。思维也和一般的行测有点不一样。但其实大家不要担心,我发现这题出的还是很科学的。我有一道题刚刚做出来时间就到了, 跳到了下一道题,发现是同一个题型的,所以我想如果你前一道题没做出来,那么下一道题 同题型的做出来是不是不会扣分的说?
  应用题部分:这部分完全不要担心,真的是小学应用题的水平,我一个文科生 3 年没有碰 过数学了,经历了无数次的笔试机考的失败,面对这样的题目真心觉得很简单,最难的也就 是列个 X,Y 的方程式。但一定要抓紧时间,我有一道题明明都快算出来了,结果时间就到了
……【】腾讯笔试题7    〖预览〗
  第一部分:
  1,请问您自己玩过哪几个网络游戏?其中印象最深刻的是哪个?
  2,请您举出3 家已经代理运营了3 个或以上游戏的国内网络游戏公司名称
  3,按照您的个人标准,您认为目前国内网络游戏市场上最热门的5款游戏是哪几个?
  1,请简单概括一下您印象最深刻的网络游戏的特点,以及它的不足之处?
  2,作为一个策划人员,你觉得应该具备哪些知识和能力?
  1,您认为一款全新的网络游戏,新手熟悉操作,游戏方式等的入门时间,控制在多久比较合适 ?超过多少时间将极难留住新手玩家?
  2,近期,您最期待的网络游戏是哪个?请简述一下它的特点
  3,您认为,一般玩家了解网络游戏主要通过哪些渠道?
  a.浏览网站 b.购买杂志报纸 c.听别人介绍 d.其它,
  1,新网游推出时,玩家最着重的是游戏中的哪些方面表现?简单列举。
  2,新网游推出时,代理厂商最着重的是游戏中的哪些方面表现?简单列举
  3,请根据您的经验,列出几项网络游戏中最能吸引用户的功能
  1,请问在同档次的以下显卡产品中,哪一种对于d3d的支持最佳?
  a nforce b ati c voodoo
  2,请根据您的经验,描述一下一般2D以及3……【】腾讯笔试题8    〖预览〗
  下午去清华参加搜狐产品专员的笔试。第一部分是几道行测之类的题目,有图像和推理。
  有道题是&12颗珍珠有一颗是假的,假的质量轻,怎么称三次找出假的&
  还有一题是&一个月有三个星期日的日期的偶数,求这个月的15号是周几&
  开始的几道题目都蛮简单的。后来的就是关于产品的题目的
  凭记忆写几道:
  1.列举几个电脑和手机的软件,说出有点和缺点
  2.你对微信有什么看法,以后的发展怎么样
  3.360如果做搜索引擎怎么样,有没有发展
  4.说一件事证明你为什么适合做产品经理
  5.你最近体验了哪些互联网的产品,从国内国外分别说明
  6.如果让你策划一个产品,从等等方面阐述
  7.有一个豆瓣的登陆界面,说明有点缺点,给出你的建议
  都是类似这样的题目,考察你平时有没有关注这些方面。说难也不难,说不能要是没有体验过这些产品也真写不出来。
  〔腾讯笔试题〕
  腾讯笔试题所属栏目:〖 尚无数据〗
  “腾讯笔试题”相关:没有任何专题栏目
  〖〗链接地址:
  资料共享平台提供的腾讯笔试题由网友原创或转发,若腾讯笔试题侵犯了您的权益,请与本站联系,谢谢!
上一篇范文: 下一篇范文:
腾讯笔试题相关范文1:创建一个 MenuController,并将其路由配置为 "/api/menu"public class
MenuController extends ApiController {
public void create() {
String menuJson = getPara("menuJson");
String jsonResult = new MenuApi().createMenu(menuJson)
ApiResult result = new ApiResult(jsonResult);
renderText(result.getJson());
}}如上的 MenuController 还需要实现 ApiController 中的一个抽象方法 getApiConfig(),具体可以参考 jfinal weixin demo2:创建一个页面,里面放一个表单
3:部署项目,在上面的表单中输入需要创建菜单的 json 数据,点击提单即可打完收工。创建菜单所需要提交的 json 数据格式查一下微信官方文档,类似于如下的结构{"button":[
{"type":"click",
"name":"今日歌曲",
"key":"V1001_TODAY_MUSIC"
陈超旗1小时前 --->>
好像不行啊 微信服务器 给我返回这个:
{"errcode":48001,"errmsg":"api unauthorized hint: [Yk.MGa0008vr23]"}
按热门JFinal Weixin怎么创建自定义菜单啊,没看懂查阅>>
最新JFinal Weixin怎么创建自定义菜单啊,没看懂:
相关JFinal Weixin怎么创建自定义菜单啊,没看懂:

我要回帖

更多关于 判断快速充电c9 的文章

 

随机推荐