2012-10月微软面试题
来源:互联网 发布:c 并行编程 pdf 编辑:程序博客网 时间:2024/05/18 03:06
一面:
1、有两个有序链表(数值有序)。一个链表是递增的,一个链表是递减的。现在将两个链表合并成一个链表,并保证最后的链表是递增的。
2、有一颗二叉树,结点的结构体如下:
strcut node
{
int value;
node * left;//左孩子
node * right;//右孩子
node * other;//同一层右侧的结点。
}node *;
如何用新的结构体表示的结点表示出二叉树的结构。即同一层的结点,如何从左到右链接起来。
如果允许用多余的空间,怎么做?不能用多余的空间又怎么做?(这道也是优酷的面试题)
二面:
1、检索二叉树(有序二叉树,左孩子的值都比根的值小,右孩子的值都比根的值大),找一个x,判断二叉树上是否有该结点。如果有,则删除。(写代码)
三面:
1、(智力题)一个监狱里,有100名犯人,1名监狱长。监狱长有一个房间,房间里有一盏灯。监狱长每天可随机从100名犯人之间抽一个犯人(可重复)去这个房间,犯人可开灯、关灯,也可以什么都不做。犯人之间不能通信。问题:在监狱长选第一个人进房间之前,100个人需要商量一个对策,保证:在监狱长选犯人的过程中,其中一个人进房间后看了一下,跟监狱长说,这100个犯人都至少进来过一次了。(监狱长选犯人的次数是无限的)
2、现在有一个数组,数组中的数都是自然数(0,1,2,3...),现在这个数组是有序的,要找到第一个不存在的数,如,(1234),则第一个不存在的是0.如:(0134),第一个不存在的是2.现在要找到第一个不存在的数,时间复杂度小于O(n).
如果这个数组是无序的,时间复杂度小于等于O(n),该怎么做?
- 2012-10月微软面试题
- 一道微软面试题
- 微软面试题
- 微软面试题
- 微软面试题(转载)
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题
- 微软面试题之一
- 微软面试题大全
- 一道微软面试题
- 微软面试题
- 微软面试题
- ADS中RO Base和RW Base的作用
- PayPal EC 快速结账之集成攻略
- SQL中算排名
- 用css3和jquery实现的渐变的动态进度条
- amcharts初识
- 2012-10月微软面试题
- mysql索引
- “=”与“==”体验
- 【设计模式】观察者模式
- ios界面动画小结
- Excel 2007 设置每页打印标题
- mysql 语句小记
- 删除物理文件
- 月初伤感日志巨献:爱流逝了,我依旧等你