百度谷歌面试题目

全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]

整理:July、二零一一年三月九日。
应网友承诺与要求,全新整理。转载,请注明出处。
博主说明:
此100题V0.2版,本人不再保证,还会提供答案。
--------------------------------------------
 
微软十五道面试题
1、有一个整数数组,请求出两两之差绝对值最小的值,
记住,只要得出最小值即可,不需要求出是哪两个数。
2、写一个函数,检查字符是否是整数,如果是,返回其整数值。
(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
3、给出一个函数来输出一个字符串的所有排列。
4、(a)请编写实现malloc()内存分配函数功能一样的代码。 
(b)给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
5、怎样编写一个程序,把一个有序整数数组放到二叉树中?
6、怎样从顶部开始逐层打印二叉树结点数据?请编程。  
7、怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件并考虑空链表)?
8、请编写能直接实现int atoi(const char * pstr)函数功能的代码。
9、编程实现两个正整数的除法
编程实现两个正整数的除法,当然不能用除法操作符。
// return x/y.
int div(const int x, const int y) 
{
  ....
}
10、在排序数组中,找出给定数字的出现次数
比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
11、平面上N个点,每两个点都确定一条直线,
求出斜率最大的那条直线所通过的两个点(斜率不存在的情况不考虑)。时间效率越高越好。
12、一个整数数列,元素取值可能是0~65535中的任意一个数,相同数值不会重复出现。0是例外,可以反复出现。
请设计一个算法,当你从该数列中随意选取5个数值,判断这5个数值是否连续相邻。
注意:
- 5个数值允许是乱序的。比如: 8 7 5 0 6
- 0可以通配任意数值。比如:8 7 5 0 6 中的0可以通配成9或者4
- 0可以多次出现。
- 复杂度如果是O(n2)则不得分。
13、设计一个算法,找出二叉树上任意两个结点的最近共同父结点。
复杂度如果是O(n2)则不得分。
14、一棵排序二叉树,令 f=(最大值+最小值)/2,
设计一个算法,找出距离f值最近、大于f值的结点。
复杂度如果是O(n2)则不得分。
15、一个整数数列,元素取值可能是1~N(N是一个较大的正整数)中的任意一个数,相同数值不会重复出现。
设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于N+1。
复杂度最好是O(n),如果是O(n2)则不得分。

谷歌八道面试题
16、正整数序列Q中的每个元素都至少能被正整数a和b中的一个整除,现给定a和b,需要计算出Q中的前几项,例如,当a=3,b=5,N=6时,序列为3,5,6,9,10,12
(1)、设计一个函数void generate(int a,int b,int N ,int * Q)计算Q的前几项
(2)、设计测试数据来验证函数程序在各种输入下的正确性。
17、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法 c语言函数原型void proc(char *str) 也可以采用你自己熟悉的语言
18、如何随机选取1000个关键字
给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?
19、判断一个自然数是否是某个数的平方
说明:当然不能使用开方运算。
20、给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
21、1024! 末尾有多少个0?
22、有5个海盗,按照等级从5到1排列,最大的海盗有权提议他们如何分享100枚金币。
但其他人要对此表决,如果多数反对,那他就会被杀死。
他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?
(提示:有一个海盗能拿到98%的金币)
23、Google2009华南地区笔试题
给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),
指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。
比如,A=[1,0] K=21 那么输出结构应该为100。

百度三道面试题
24、用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。
25、用C语言实现函数void * memmove(void *dest, const void *src, size_t n)。memmove
函数的功能是拷贝src所指的内存内容前n个字节到dest所指的地址上。
分析:由于可以把任何类型的指针赋给void类型的指针,这个函数主要是实现各种数据类型的拷贝。
26、有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。
木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。
当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。
编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。

腾讯七道面试题
27、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
28、两个数相乘,小数点后位数没有限制,请写一个高精度算法
29、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?
30、有12个小球,外形相同,其中一个小球的质量与其他11个不同,
给一个天平,问如何用3次把这个小球找出来,并且求出这个小球是比其他的轻还是重
31、在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。
32、一个文件中有40亿个整数,每个整数为四个字节,内存为1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数
33、腾讯服务器每秒有2w个QQ号同时上线,找出5min内重新登入的qq号并打印出来。

雅虎三道面试题
34、编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列
35、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
36、有双向循环链表结点定义为:
struct node

  int data;
  struct node *front,*next;
};
有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除。

联想五道笔试题
37、1)、设计函数 int atoi(char *s)。
2)、int i=(j=4,k=8,l=16,m=32); printf(“%d”, i); 输出是多少?
3)、解释局部变量、全局变量和静态变量的含义。
4)、解释堆和栈的区别。
5)、论述含参数的宏与函数的优缺点。
38、顺时针打印矩阵
题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。
例如:如果输入如下矩阵:
1              2              3              4
5              6              7              8
9              10             11             12
13             14             15             16
则依次打印出数字1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10。
分析:包括Autodesk、EMC在内的多家公司在面试或者笔试里采用过这道题。
39、对称子字符串的最大长度
题目:输入一个字符串,输出该字符串中对称的子字符串的最大长度。
比如输入字符串“google”,由于该字符串里最长的对称子字符串是“goog”,因此输出4。
分析:可能很多人都写过判断一个字符串是不是对称的函数,这个题目可以看成是该函数的加
强版。
40、用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,
如:512234、412345等,要求:"4"不能在第三位,"3"与"5"不能相连.
41、微软面试题
一个有序数列,序列中的每一个值都能够被2或者3或者5所整除,1是这个序列的第一个元素。求第1500个值是多少?

网易五道游戏笔试题
42、两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。
B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长
43、Smith夫妇召开宴会,并邀请其他4对夫妇参加宴会。在宴会上,他们彼此握手,
并且满足没有一个人同自己握手,没有两个人握手一次以上,并且夫妻之间不握手。
然后Mr. Smith问其它客人握手的次数,每个人的答案是不一样的。
求Mrs Smith握手的次数
44、有6种不同颜色的球,分别记为1,2,3,4,5,6,每种球有无数个。现在取5个球,求在一下
的条件下:
1、5种不同颜色,
2、4种不同颜色的球,
3、3种不同颜色的球, 
4、2种不同颜色的球,
它们的概率。
45、有一次数学比赛,共有A,B和C三道题目。所有人都至少解答出一道题目,总共有25人。
在没有答出A的人中,答出B的人数是答出C的人数的两倍;单单答出A的人,比其他答出A的人
总数多1;在所有只有答出一道题目的人当中,答出B和C的人数刚好是一半。
求只答出B的人数。
46、从尾到头输出链表
题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:
struct ListNode
{
  int  m_nKey;
  ListNode* m_pNext;
};
分析:这是一道很有意思的面试题。该题以及它的变体经常出现在各大公司的面试、笔试题中。

47、金币概率问题(威盛笔试题)
题目:10个房间里放着随机数量的金币。每个房间只能进入一次,并只能在一个房间中拿金币。
一个人采取如下策略:前四个房间只看不拿。随后的房间只要看到比前四个房间都多的金币数,
就拿。否则就拿最后一个房间的金币。?
编程计算这种策略拿到最多金币的概率。
48、找出数组中唯一的重复元素
1-1000放在含有1001个元素的数组中,只有唯一的一个元素值重复,其它均只出现一次.
每个数组元素只能访问一次,设计一个算法,将它找出来;不用辅助存储空间,
能否设计一个算法实现?
49、08百度校园招聘的一道笔试题
题目大意如下:
一排N(最大1M)个正整数+1递增,乱序排列,第一个不是最小的,把它换成-1,
最小数为a且未知求第一个被-1替换掉的数原来的值,并分析算法复杂度。
50、一道SPSS笔试题求解
题目:输入四个点的坐标,求证四个点是不是一个矩形
关键点:
1.相邻两边斜率之积等于-1,
2.矩形边与坐标系平行的情况下,斜率无穷大不能用积判断。
3.输入四点可能不按顺序,需要对四点排序。
51、矩阵式螺旋输出
    

52、求两个或N个数的最大公约数和最小公倍数。
53、最长递增子序列
题目描述:设L=<a1,a2,…,an>是n个不同的实数的序列,L的递增子序列是这样一个子序列
Lin=<aK1,ak2,…,akm>,其中k1<k2<…<km且aK1<ak2<…<akm。
求最大的m值。
54、字符串原地压缩
题目描述:“eeeeeaaaff" 压缩为 "e5a3f2",请编程实现。
55、字符串匹配实现
请以俩种方法,回溯与不回溯算法实现。
56、一个含n个元素的整数数组至少存在一个重复数,
请编程实现,在O(n)时间内找出其中任意一个重复数。
57、求最大重叠区间大小
题目描述:请编写程序,找出下面“输入数据及格式”中所描述的输入数据文件中最大重叠区间的大小。 
对一个正整数 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)。

转载于:https://www.cnblogs.com/Nagisa-Saku/p/5706618.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374294.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C学习杂记(三)笔试题:字符串大小写字母切换

字符串大小写转换&#xff0c;大写转小写&#xff0c; 小写转大写 #include <stdio.h> #include <string.h>int tramsform(char str[]) {int i 0;int strLen strlen(str);for(i 0; i < strLen; i){if( (str[i] > A) && (str[i] < Z) ){str[i]…

m.2接口和nvme区别_NVMe/SATA SSD有啥不一样?萌新怎么选

随着NAND技术的升级迭代&#xff0c;堆栈层数不断提高使得SSD单位容量成本不断下降&#xff0c;消费级市场基本已经成为了SSD的天下。目前主流的SSD大致有两种接口&#xff0c;分别是M.2和SATA两种类型。NVMe/SATA有啥区别SATA接口的SSD执行的AHCI协议标准&#xff0c;是目前较…

javascript 高级特性探讨A4-A5(call和原型.对象复制)

在js中&#xff0c;call和apply是二个神奇的方法&#xff0c;但同时也是容易令人迷惑的二个方法&#xff0c;call和apply的功能是以不同的对象作为上下文来调用某个函数的&#xff0c;简而言之&#xff0c;就是允许一个对象去调用另一个对象的成员函数&#xff0c;咋一看似乎很…

带有NetBeans 7.1 RC 2的WebLogic 12c快速入门

WebLogic服务器12c停运了几天。 它是针对“裸露”的Java开发人员的–花哨的Fusion Middleware东西将继续沿线升至12c。 因此&#xff0c;这基本上是我要运行的版本。 今天&#xff0c;我为您提供了一个最新的NetBeans 7.1&#xff08;RC 2&#xff09;和WebLogic的快速入门 &am…

C学习杂记(四)sizeof计算联合体大小

#include <stdio.h>union u1 {char a[13];int b; };int main(void) {printf("%d\n", sizeof(u1));return 0; } 结果为16。 联合体的大小取决于它所有的成员中占用空间最大的一个成员的大小。u2最大的空间是char[13]&#xff0c;但是因为另一个成员int b的存在…

python爬虫反爬机制_Python Scrapy突破反爬虫机制(项目实践)

对于 BOSS 直聘这种网站&#xff0c;当程序请求网页后&#xff0c;服务器响应内容包含了整个页面的 HTML 源代码&#xff0c;这样就可以使用爬虫来爬取数据。但有些网站做了一些“反爬虫”处理&#xff0c;其网页内容不是静态的&#xff0c;而是使用 JavaScript 动态加载的&…

树的算法 已知二叉树的前序序列和中序序列求解树

题目: 已知二叉树的前序序列和中序序列求解树 比如 6 4    8 3  5   7 前序序列为6,4,3,5,8,7 中序序列为3,4,5,6,7,8 思路: 前序遍历序列的第一个元素必为根节点 则中序遍历序列中&#xff0c;该节点之前的为左子树&#xff0c;该节点之后的为右子树&#xff0c;若该节…

使用Spring配置LogBack日志记录

LogBack是由Log4j的同一作者创建的用于记录日志的API&#xff08;较新的实现&#xff0c;它类似于新版本&#xff09;&#xff0c;在本文中&#xff0c;我将展示如何在Spring项目中对其进行集成和使用。 在本教程中&#xff0c;我假设您正在使用一个简单的Spring ROO项目&…

自定义URL Scheme完全指南

iPhone / iOS SDK 最酷的特性之一就是应用将其自身”绑定”到一个自定义 URL scheme 上&#xff0c;该 scheme 用于从浏览器或其他应用中启动本应用。 注册自定义 URL Scheme 注册自定义 URL Scheme 的第一步是创建 URL Scheme — 在 Xcode Project Navigator 中找到并点击工程…

C学习杂记(五)形参实参笔试题

大意失荆州 不要以为简单就轻视&#xff0c;谨慎&#xff0c;细节&#xff0c;基础。 一、有以下程序 #include <stdio.h>typedef struct {int b, p;} A;void f(A c) {c.b 1; c.p 2; }void main(void) {A a {1, 2};f(a);printf("%d, %d\n", a.b, a.p); } …

avframe转byte数组_C# amp; VB6.0 图像与二维数组 互转

背景最近在研究C#进行图像处理&#xff0c;在图像处理中算法中&#xff0c;往往都是针对的是矩阵运算的。矩阵其实就是一个二维的数组。为了图像处理的速度&#xff0c;我们都需要放在内存中处理。但网络上收集的代码&#xff0c;往往都是以一维数组的样子提供结果&#xff0c;…

C学习杂记(六)%2.0f打印输出宽度

%m.nf&#xff0c;m表示整个浮点数的输出宽度&#xff0c;n表示小数输出宽度。 1、printf("%f\n", 12.34); 输出为12.340000。 2、printf("%2.0f\n", 12.34); 输出为12。 3、printf("%2.1f\n", 12.34); 输出为12.3。 4、printf(&qu…

P6 音频格式—— AAC

目录 前言 01 AAC是什么&#xff1f; 02 为什么需要进行AAC进行音频压缩处理&#xff1f; 03 AAC的特点以及优势 04 AAC格式详解&#xff1a; 4.1. ADIF的数据结构&#xff1a; 4.1.1 ADIF Header具体的表格: 4.2. ADTS的结构&#xff08;重点&#xff09;&#xff1a; …

Android开发笔记——ListView模块、缓存及性能

ListView是Android开发中最常用的组件之一。本文将重点说明如何正确使用ListView&#xff0c;以及使用过程中可能遇到的问题。 ListView开发模块图片缓存可能遇到的问题一、ListView开发模块 从项目实践的角度来看&#xff0c;ListView适合“自底向上”的开发模式&#xff0c;即…

python实现excel筛选功能并输出_python如何实现excel按颜色筛选功能

离岛 2020-07-09 09:37 已采纳 不太了解具体需求&#xff0c;提供一些示例代码和思路供你参考&#xff1a; 整体思路&#xff1a;首先已知excel中的颜色值&#xff0c;根据编码实现颜色筛选的功能 示例&#xff1a; 1、首先安装pip install openpyxl 2、示例代码可以获取Excel中…

什么是CDI,它与@EJB和Spring有什么关系?

简要概述了Java EE中的依赖项注入&#xff0c; Resource / EJB和Inject之间的区别以及它们与Spring的关系-主要是链接形式。 上下文依赖注入&#xff08;CDI&#xff0c; JSR 299 &#xff09;是Java EE 6 Web Profile的一部分&#xff0c;它本身基于Java依赖注入&#xff08;…

C学习杂记(七)extern声明可省略变量类型

工作三年&#xff0c;看C的书也不少。第一次知道extern可以省略变量类型。 b.c有一个全局变量unsigned int data_length&#xff0c;a.c想要调用它&#xff0c;通常使用: extern unsigned int data_length&#xff1b; 在声明时可以把外部变量类型去掉&#xff1a;extern da…

KMP模板

1 ///KMP模板2 ///生成next数组3 void get_next()4 {5 int i0,j-1;6 next[0]-1;7 while (s1[i])8 {9 if (j-1||s1[i]s1[j]) 10 { 11 i; 12 j; 13 next[i]j; 14 } 15 else jnext[j]; 16 …

使用Apache CXF进行Web服务学习

在我的最后几个项目中&#xff0c;我使用了Web服务&#xff0c;在某些地方创建它们并在其他地方使用它们。 我觉得创建客户端&#xff0c;创建Web服务等标准任务非常简单&#xff0c;如果遇到问题&#xff0c;有足够的资源。 但是对于Web服务&#xff0c;这是一项琐碎的任务&am…

python的easygui_Python的easygui学习

1.调用方法 &#xff08;1&#xff09;import easygui easygui.msgbox(…) &#xff08;2&#xff09;from easygui import msgbox(…) 2.函数方法 import easygui a easygui.msgbox(’…’, title‘title’) # show a:返回ok,none b easygui.enterbox( ‘plaese give a solu…