互联网公司最常见的面试算法题有哪些?

2,346 阅读4分钟

要面试,免费试听《如何在一个月内攻破算法面试》,先理清思路能帮你节省65%准备时间。

从程序员面试角度来说,经典的问题包括以下内容:

算法部分

二分搜索 Binary Search 
分治 Divide Conquer 
宽度优先搜索 Breadth First Search 
深度优先搜索 Depth First Search
回溯法 Backtracking 
双指针 Two Pointers 
动态规划 Dynamic Programming 
扫描线 Scan-line algorithm
快排 Quick Sort

数据结构部分

栈 Stack
队列 Queue
链表 Linked List 
数组 Array 
哈希表 Hash Table
二叉树 Binary Tree  
堆 Heap
并查集 Union Find
字典树 Trie

根据历年校招的情况,我整理了校招的常考算法类型,以及对应的典型题目。

另附参考答案地址:LINTCODE / LEETCODE 参考答案查询

数学

尾部的零

斐波纳契数列

x的平方根

x的平方根 2

大整数乘法

骰子求和

最多有多少个点在一条直线上

超级丑数

比特位操作

将整数A转换为B更新二进制位

二进制表示

O(1)时间检测2的幂次

二进制中有多少个1

动态规划

编辑距离正则表达式匹配

交叉字符串

乘积最大子序列

二叉树中的最大路径和

不同的路径

通配符匹配

滑动窗口的中位数数据流中位数

最高频的K个单词

接雨水

堆化

排序矩阵中的从小到大第k个数

二叉树

二叉树中序遍历二叉树的序列化和反序列化

子树

最近公共祖先

二叉树的层次遍历

将二叉树拆成链表

在二叉查找树中插入节点

二分法

经典二分查找问题二分查找

两数组的交

区间最小数

寻找旋转排序数组中的最小值

搜索排序区间

寻找峰值

分治法

快速幂两个排序数组的中位数

合并K个排序链表

哈希表

变形词子串哈希函数

短网址

复制带随机指针的链表

最小子串覆盖

矩阵

搜索二维矩阵旋转图像

岛屿的个数

螺旋矩阵

宽度优先搜索

克隆图被围绕的区域

拓扑排序

单词接龙

链表

实现一个链表的反转链表求和 II

删除链表中的元素

LRU缓存策略

合并两个排序链表

两个链表的交叉

翻转链表 II

复制带随机指针的链表

带环链表

枚举法

统计数字名人确认

最长连续上升子序列

最大子数组差

最长公共前缀

排序

快排摆动排序

最大间距

最接近零的子数组和

最大数

四数之和

数组划分

第K大元素

排颜色

深度优先搜索

N皇后问题图是否是树

带重复元素的排列

分割回文串

数组

数组划分逆序对

合并区间

搜索旋转排序数组

最大子数组

删除排序数组中的重复数字

第二大的数组

先递增后递减数组中的最大值

两数和 - 输入的数据是有序的

两个排序数组的中位数

在大数组中查找

颜色分类

合并排序数组

无序数组K小元素

中位数

奇偶分割数组

贪心

主元素寻找缺失的数

买卖股票最佳时机

加油站

删除数字

落单的数

最大子数组差

线段树

线段树查询线段树的构造

线段树的修改

区间求和

统计比给定整数小的数的个数

带最小值操作的栈用栈实现队列

有效的括号序列

简化路径

整数

反转整数将整数A转换为B

整数排序

字符串处理

罗马数字转整数回文数

乱序字符串

有效回文串

翻转字符串

最长无重复字符的子串

字符串压缩

比较字符串编辑距离II

看完这篇文章后,有两件小事,能帮助你快速提升自己哟:

1、免费试听《如何在一个月内攻破算法面试》,开课以来已经帮助数万人厘清算法学习的思路,硅谷求职必修,最后冲刺春招!鼓励我创作更多优质内容。

2、点赞+关注我,让更多人看到这篇文章,这也鼓励我继续分享!