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即可。
微软笔试题:写程序找出二叉树的深度。
一个树的深度等于max(左子树深度,右子树深度)+1。可以使用递归实现。
假设节点为定义为。
struct node ; int getdepth(node* root) int left_depth = getdepth(root->left); int right_depth = getdepth(root->right); return left_depth > right_depth ? left_depth + 1 : right_depth + 1; }微软笔试题:
利用天平砝码,三次将140克的盐分成克两份?
有一个天平,2克和7克砝码各一个。如何利用天平砝码在三次内将140克盐分成50,90克两份。
第一种方法:
第一次:先称 7+2克盐 (相当于有三个法码2,7,9)
第二次:称2+7+9=18克盐 (相当于有2,7,9,18四个法码)
第三次:称7+18=x+2,得出x是23,23+9+18=50克盐。
剩下就是90克了。
第二种方法:
1.先把140克盐分为两份,每份70克。
2.在把70克分为两份,每份35克。
3.然后把两个砝码放在天平两边,把35克面粉分成两份也放在两边(15+7=20+2)
现在有四堆面粉70,35,15,20,分别组合得到。
腾讯面试题
sizeof struct st char p1 void p2 int p3 char p4 10 sizeof p1.p4 5.让你在 个浮点数中找出最大的10000个,要求时间复杂度优。最小堆。二分查找。快速排序。双向链表的删除结点。有a b c d四个人,要在夜里过一座桥。他们通过这座桥分别...
腾讯面试题
腾讯的流程是一笔和四面。前三次面试都是技术面,hr面基本不刷人。笔试成绩决定面试顺序。技术面可能要写 做智力题目。主要是c c 数据结构 操作系统等方面的基础知识。好像有sizeof 树等选择题。填空题是补充完整程序。附加题有写算法的 编程的 数据库sql语句查询的。还有一张开放性问题。1 请定义一...
采购面试题
翰亚采购考试题目。姓名日期得分考评者。注 供100分,每题10分,完成时间60分钟,附加题20分,可选择是否做 1 采购基本工作职责有哪些?工作重点是什么?2 你为什么要选择做采购?这个职位与其他职位有什么基本区别?3 你对 商是如何砍价的?有哪些方法可以降低成本?4 最能简单概况你自己的词语是什么...