全新整理:微软、谷歌、百度等公司经典面试100题[第101(3)
题目描述:请编写程序,找出下面“输入数据及格式”中所描述的输入数据文件中最大重叠区间的大小。
对一个正整数 n ,如果n在数据文件中某行的两个正整数(假设为A和B)之间,即A<=n<=B或A>=n>=B ,则 n 属于该行;
如果 n 同时属于行i和j ,则i和j有重叠区间;重叠区间的大小是同时属于行i和j的整数个数。
例如,行(10 20)和(12 25)的重叠区间为 [12 20] ,其大小为9,行(20 10)和( 20 30 )的重叠区间大小为 1 。
58、整数的素数和分解问题
歌德巴赫猜想说任何一个不小于6的偶数都可以分解为两个奇素数之和。
对此问题扩展,如果一个整数能够表示成两个或多个素数之和,则得到一个素数和分解式。
对于一个给定的整数,输出所有这种素数和分解式。
注意,对于同构的分解只输出一次(比如5只有一个分解2 + 3,而3 + 2是2 + 3的同构分解式
)。
例如,对于整数8,可以作为如下三种分解:
(1) 8 = 2 + 2 + 2 + 2
(2) 8 = 2 + 3 + 3
(3) 8 = 3 + 5
59、google的一道面试题
题目:
输入a1,a2,...,an,b1,b2,...,bn,
在O(n)的时间,O(1)的空间将这个序列顺序改为a1,b1,a2,b2,a3,b3,...,an,bn,
且不需要移动,通过交换完成,只需一个交换空间。
例如,N=9时,第2步执行后,实际上中间位置的两边对称的4个元素基本配对,
只需交换中间的两个元素即可,如下表所示。颜色表示每次要交换的元素,左边向右交换,右边向左交换。
交换过程如下表所示
交换x1,x3;交换x2,x4;再交换中间的x1,x4;交换y1,y2。
60、百度笔试题
给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
要求:空间复杂度O(1),时间复杂度为O(n)。
版权声明:
1、以上全部题目的知识产权,归原公司微软、谷歌、百度等公司所有。
2、本人对本BLOG内所有任何文章和资料享有版权,转载,请注明作者本人,并以链接形式注明出处。
3、侵犯本人版权相关利益者,个人会在腾讯微博、CSDN迷你博客中永久追踪,给予谴责。
同时,保留追究法律责任的权利。向您的厚道致敬,谢谢。
July、二零一一年三月十日。
- 谷歌收购手势识别公司
【搜狐IT消息】10月3日,据国外媒体报道,手势识别技术公司Flutter在官方网站上证实,... - 全新整理:微软、谷歌
全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]整理:July、二零一一年... - 传腾讯已投资民营快递
2011年8月,深圳南山区高新技术产业园内,陆陆续续传出一些消息,说腾讯已投资了民营... - 360杀毒软件免费下载2
360杀毒软件免费下载2013官方版 v4.2.2.4092H下载,360杀毒无缝整合了国际知名的BitDe...