几道微软编程面试题
2008-10-16 16:09
239 查看
(1)
一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
- 5个数值允许是乱序的。比如: 8 7 5 0 6
- 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4
- 0可以多次出现。
- 复杂度如果是O(n2)则不得分。
(2)
设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
复杂度如果是O(n2)则不得分。
(3)
一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
(4)
一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
- 5个数值允许是乱序的。比如: 8 7 5 0 6
- 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4
- 0可以多次出现。
- 复杂度如果是O(n2)则不得分。
(2)
设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
复杂度如果是O(n2)则不得分。
(3)
一棵排序二叉树,令 f=(最大值+最小值)/2,设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
(4)
一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。
相关文章推荐
- 微软面试题:3,3,8,8,四个数字任意加减乘除使之最后等于24的编程解决方法
- 林锐高质量编程中的几道面试题
- 几道微软面试题
- 微软100题(38)几道百度面试题
- 微软面试题:编程实现两个正整数的除法,不能用除法操作符
- 微软面试题:编程实现两个正整数的除法,当然不能用除法操作符。
- 8月面试的几道编程基础题(持续更新各种面试题)
- 微软面试题--我心目中的编程高手
- 【微软100题】2010年中兴面试题 编程求解: 输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m
- 微软面试题:编程实现两个正整数的除法
- 林锐高质量编程中的几道面试题
- 朋友去MS面试,我从他口里探到几道编程面试题。特来和各位分享。
- 微软100题(44)几道腾讯面试题
- 微软100题(45)几道雅虎面试题
- 微软面试题:编程实现两个正整数的除法
- 几道JAVA和分布式系统面试题总结
- 黑马程序员:Java编程_7K面试题之银行业务调度系统
- 微软的面试题及答案-超变态-----答案
- 所谓微软面试题的解答:求一个字符串中连续出现次数最多的子串
- 微软面试题--翻转数组中的一段,使0为1,1为0,求此数组中1的个数最多