微软笔试题

发布 2024-04-17 03:25:11 阅读 5082

微软、、联想等名企c++笔试题你了解吗?掌握这些笔试题对你很重要!下面就由x为大家介绍一下微软、、联想等名企c++笔试题的文章。微软十五道笔试题篇1

1、有一个整数数组,请求出两两之差绝对值最小的值,记住,只要得出最小值即可,不需要求出是哪两个数。2、写一个函数,检查字符是否是整数,如果是,返回其整数值。

或者:怎样只用4行**编写出一个从字符串到长整形的函数?)

3、给出一个函数来输出一个字符串的所有排列。4、请编写实现malloc内存分配函数功能一样的**。给出一个函数来复制两个字符串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)则不得分。谷歌八道笔试题篇2

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,intn ,int * q)计算q的前几项。

2)、设计测试数据来验证函数程序在各种输入下的正确性。

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

小写字母之间不要求保持原来次序),如有可能尽量选择时间和空间效率高的算法c语言函数原型void proc(char*str)也可以采用你自己熟悉的语言3、如何随机选取1000个关键字。

给定一个数据流,其中包含无穷尽的搜索关键字(比如,人们在谷歌搜索时不断输入的关键字)。如何才能从这个无穷尽的流中随机的选取1000个关键字?4、判断一个自然数是否是某个数的平方说明:

当然不能使用开方运算。

5、给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数!末尾有多少个0?

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

但其他人要对此表决,如果多数反对,那他就会被杀死。他应该提出怎样的方案,既让自己拿到尽可能多的金币又不会被杀死?

提示:有一个海盗能拿到98%的金币)8、google20xx华南地区笔试题。

给定一个集合a=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含)。

指定任意一个正整数k,请用a中的元素组成一个大于。

k的最小正整数。

比如,a=[1,0] k=21那么输出结构应该为100。三道笔试题篇3

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

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

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

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

3、有一根27厘米的细木杆,在第3厘米、7厘米、11厘米、17厘米、23厘米这五个位置上各有一只蚂蚁。木杆很细,不能同时通过一只蚂蚁。开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝前走或调头,但不会后退。

当任意两只蚂蚁碰头时,两只蚂蚁会同时调头朝反方向走。假设蚂蚁们每秒钟可以走一厘米的距离。

编写程序,求所有蚂蚁都离开木杆的最小时间和最大时间。

微软笔试题

微软笔试归来。一选择题。1 stack的基本操作有哪些?push in push out check if empty sort 不是 2 最坏情况下,合并两个大小为n的已排序数组所需要的比较次数。答案 2n 1.3 求函数的空间和时间复杂度。答案 时间复杂度为o n 空间复杂度o 1 ps 不知道...

经典微软面试题

4 答案1 关于数字位数线性 for n 0 b b 1 if b 1 n 答案2 关于 1 的个数线性 for n 0 b n b b 1 5 这个乍看让人有些摸不着头脑的问题时,你可能要从问这个国家有多少小汽车入手。面试者也许会告诉你这个数字,但也有可能说 我不知道,你来告诉我。那么,你对自己说...

SQL笔试题笔试题

家庭住址,联系 create table stu 学号int 姓名varchar 8 年龄int,性别varchar 4 家庭地址varchar 50 联系 int 历varchar 6 3 修改学生表的结构,删除一列信息,家庭住址alter table stu drop column家庭地址4 向...