返回

微软 2021 技术类面试题

第1题:

求有权树任两节点间最长路径的时间复杂度



第2题:

选一组度符合无向、连通、有环的点集(图论)
A.{1,1,1,1,1,1} B.{1,2,2,2,1,2} C.{1,2,3,3,1,4} D.{1,1,1,1,1,6}



第3题:

斐波那契数列模5的规律
F(0)=0 F(1)=1 F(n)=(F(n-1)+F(n-2))mod5 求F(2021)



第4题:

快速排序最好的时间复杂度 最坏情况的时间复杂度 平均时间复杂度



第5题:

求数组最大子数组和的时间复杂度



第6题:

sizeof

1. struct A 

2. { 

3. A(); 

4. ~A(); 

5. 
int m1; 

6. 
int m2; 

7. }a; 

8. 
struct B 

9. { 

10. B(); 

11. ~B(); 

12. 
int m1 

13. 
char m2; 

14. 
static
char m3; 

15. }b; 

16. 
struct C 

17. { 

18. C(); 

19. 
virtual ~C(); 

20. 
int m1; 

21. 
int m2; 

22. }c; 


struct A{ A(); ~A(); int m1; int m2;}a;struct B{ B(); ~B(); int m1 char m2; static char m3;}b;struct C{ C(); virtual ~C(); int m1; int m2;}c; 
求sizeof(a) sizeof(b) sizeof(c)



第7题:

 二分查找使用什么数据结构

A.栈 B.队列 C.二叉树 D.链表 E.哈希表



第8题:

求两个20x20的方阵放在100x100方阵中重合的概率



第9题:

给出后序遍历 求可能的先序遍历



第10题:

给出一个一维的点集,求能够包含[n/2]个点的第一个最小区间的左边界和右边界(实际上就是数组)
例如
{5,-3,10,4,-2,-5}
第一个包含[n/2]个点的最小区间就是[-5,-2]
1. 写一个函数,参数是数组及其长度,返回第一个包含[n/2]个点的最小区间的左边界和右边界,不能引用任
何头文件和使用任何库函数,要求完整可运行,效率尽可能高
2. 给出一些测试用例来进行测试,同时要给出每组测试用例的测试目的,要包括边界情况,错误情况


相关知识