小伙伴关心的问题:谷歌面试题两个鸡蛋(谷歌面试题没做出来),本文通过数据整理汇集了谷歌面试题两个鸡蛋(谷歌面试题没做出来)相关信息,下面一起看看。

谷歌面试题两个鸡蛋(谷歌面试题没做出来)

应网友要求,全新整理了微软、谷歌、百度等公司的经典面试题。

微软十五道面试题

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、设计一个算法,找出二叉树上任意两个结点的最近共同父结点。

14、一棵排序二叉树,令 f=(最大值+最小值)/2,

设计一个算法,找出距离 f 值最近、大于 f 值的结点。

复杂度如果是 O(n2)则不得分。

15、一个整数数列,元素取值可能是 1~N(N 是一个较大的正整数)中的任意一个数,相

同数值不会重复出现。

设计一个算法,找出数列中符合条件的数对的个数,满足数对中两数的和等于 N+1。

复杂度最好是 O(n),如果是 O(n2)则不得分。

谷歌八道面试题

1、正整数序列 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)、设计测试数据来验证函数程序在各种输入下的正确性。

2、有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在

答谢字母的前面(大写或小写字母之间不要求保持原来次序),如有可能尽量选择时间和空

间效率高的算法 c 语言函数原型 void proc(char *str) 也可以采用你自己熟悉的语言

3、如何随机选取 1000 个关键字

给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键

字)。如何才能从这个无穷尽的流中随机的选取 1000 个关键字?

4、判断一个自然数是否是某个数的平方

说明:当然不能使用开方运算。

5、给定能随机生成整数 1 到 5 的函数,写出能随机生成整数 1 到 7 的函数。

6、1024! 末尾有多少个 0?

7、有 5 个海盗,按照等级从 5 到 1 排列,最大的海盗有权提议他们如何分享 100 枚金币。

8、但其他人要对此表决,如果多数反对,那他就会被杀死。

他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?

(提示:有一个海盗能拿到 98%的金币)

百度三道题

1、用 C 语言实现一个 revert 函数,它的功能是将输入的字符串在原串上倒序后返回。

2、用 C 语言实现函数 void * memmove(void *dest, const void *src, size_t n)。memmove

函数的功能是拷贝 src 所指的内存内容前 n 个字节到 dest 所指的地址上。

分析:由于可以把任何类型的指针赋给 void 类型的指针,这个函数主要是实现各种数据类型的拷贝。

3、有一根 27 厘米的细木杆,在第 3 厘米、7 厘米、11 厘米、17 厘米、23 厘米这五个位

置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右 是任意的,它们只会朝前走或调头,但不会后退。当任意两只蚂蚁碰头时,两只蚂蚁会同 时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。编写程序,求所有蚂蚁都离 开木杆的最小时间和最大时间。

腾讯七道面试题

1、请定义一个宏,比较两个数 a、b 的大小,不能使用大于、小于、if 语句

2、两个数相乘,小数点后位数没有限制,请写一个高精度算法

3、有 A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时 1、2、5、10 分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在 17分钟内这四个人都过桥?

4、有 12 个小球,外形相同,其中一个小球的质量与其他 11 个不同,给一个天平,问如何用 3 次把这个小球找出来,并且求出这个小球是比其他的轻还是重

5、在一个文件中有 10G 个整数,乱序排列,要求找出中位数。内存限制为 2G。只写出思路即可。

6、一个文件中有 40 亿个整数,每个整数为四个字节,内存为 1GB,写出一个算法:求出这个文件里的整数里不包含的一个整数

7、腾讯服务器每秒有 2w 个 QQ 号同时上线,找出 5min 内重新登入的 qq 号并打印出来。

雅虎三道面试题

1、编程实现:把十进制数(long 型)分别以二进制和十六进制形式输出,不能使用 printf 系

2、编程实现:找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"

3、有双向循环链表结点定义为:

struct node

{

int data;

struct node *front,*next;

两个个双向循环链表 A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中

data 值相同的结点删除。

值乎问我。

欢迎大家来“web前端开发”专栏投稿。

更多谷歌面试题两个鸡蛋(谷歌面试题没做出来)相关信息请关注本站,本文仅仅做为展示!