大公司笔试面试有哪些经典算法题目?

如题所述

大公司面试的算法题目多半也是仿照行业经典题库出的,还有的也是结合自己公司业务中的实际情况,用几个特别的案例形式筛选出自己想要的人才。可以去下载一下谷歌微软的经典题库多多复习,还可以到各大公司的论坛贴吧群去看一下笔试和面试经验。


下面简单列举一些经典算法题:

1.判断一个字符串中的字符是否唯一

2.字符串翻转

3.去除字符串中重复字符

4.利用已知函数判断字符串是否为另一字符串的子串

5. 从链表中移除重复结点

6.实现一个算法从一个单链表中返回倒数第n个元素

7. 给定链表中间某结点指针,删除链表中该结点

8.求由两个链表结点组成的数之和

9. 给定一个循环链表,实现一个算法返回这个环的开始结点

10 如何只用一个数组实现三个栈

11. 实现一个栈,要求实现min函数以返回栈中的最小值

12.实现数据结构SetOfStacks来模拟叠盘子

13. 编程解决汉诺塔问题

14.使用两个栈实现一个队列

15. 写程序将一个栈按升序排序

16. 用一个函数判断一棵树是否平衡

17. 设计算法判断有向图两结点间是否存在路径

18. 将递增数组构建成一颗最小高度二叉树

19.将二叉树每一层结点构建成一个链表

20. 查找二叉查找树的任意给定结点的“下一个”结点

21.找出一棵二叉树中两个结点的第一个共同祖先结点

22. 判断一棵二叉树是否为另一棵二叉树的子树

23.输出二叉树中路径上结点值之和为给定值的所有路径

24.写程序使整数N中第i位到第j位的值与整数M中的相同

25.给定一个字符串类型表示的小数,输出其二进制表示

26. 给定一个整数x,找出另外两个二进制表示中1的个数和x相同的数

27.解释以下代码的作用:((n & (n-1)) == 0)

28. 交换一个整数二进制表示中的奇数位和偶数位

29. 写程序找出丢失的整数,要求时间复杂度O(n)

30. 为通用卡牌游戏设计数据结构,并设计子类

我们可以把每一类的题目都细细研究,触类旁通,只有掌握了基础的知识才能慢慢解决复杂问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-09-19

1、二维数组中的查找2、替换空格
3、从尾到头打印链表
4、重建二叉树
5、用两个栈实现队列
6、旋转数组的最小数字
7、斐波那契数列
8、跳台阶
9、变态跳台阶
10、矩形覆盖
11、二进制中1的个数
12、数值的整数次方
13、调整数组顺序使奇数位于偶数前面
14、链表中倒数第k个结点
15、反转链表
16、合并两个排序的链表
17、树的子结构18、二叉树的镜像
19、顺时针打印矩阵
20、包含min函数的栈
21、栈的压入、弹出序列
22、从上往下打印二叉树
23、二叉搜索树的后序遍历序列
24、二叉树中和为某一值的路径
25、复杂链表的复制
26、二叉搜索树与双向链表
27、字符串的排列
28、数组中出现次数超过一半的数字
29、最小的K个数
30、连续子数组的最大和
31、整数中1出现的次数(从1到n整数中1出现的次数)
32、把数组排成最小的数
33、丑数
34、第一个只出现一次的字符
35、数组中的逆序对

具体例题:如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如:{1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。现在给出一个数字序列,允许使用一种转换操作:选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前的位置(只插入一个和)。现在对于所给序列要求出最少需要多少次操作可以将其变成回文序列?



第2个回答  2019-05-24
比较相邻的元素,如果第一个比第二个大,就交换他们两个,对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数,针对所有的元素重复以上的步骤,除了最后一个,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
第3个回答  2019-05-03
我的面试遇到的题目,都是直接写代码,二分查找+旋转数组查找,百度和阿里面试都有问过,链表操作:逆置链表,逆置后面K个节点,链表快排,这三道题百度遇到过,另外网易遇到过链表归并。
第4个回答  2019-05-03
解决问题能力,能不能解出答案是次要的,分析和解决问题的思路才是面试官考察的根本所在。算法是整个计算机领域里最基础的学科,其余大部分的学科和技能都是在算法的基础上展开的,所以这类考察实则是考察面试者能否快速融入工作当中,总的来说,算法题是综合考察面试者思维逻辑和基础知识的好办法。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网