程序员高频面试题top200来啦!
如何充分利用top200并提升能力
为了更好的提升,你需要先读一下使用说明。
- top200来源:结合面试官真实考察数据以及牛客面经大数据进行实时更新
- 实时查看与练习:进牛客题霸页面https://www.nowcoder.com/activity/oj
- 知识点与题目讲解:关注下方牛客题霸公众号,每周更新知识点与题目讲解
牛客题霸|程序员高频面试题top200来啦
NC78 | 反转链表 | 链表 | 简单 | 30.99% |
字节跳动 +53
|
研发 +5
|
152 |
NC140 | 排序 | 排序 | 中等 | 35.24% |
字节跳动 +33
|
研发 +5
|
139 |
NC93 | 设计LRU缓存结构 | 模拟 | 中等 | 26.42% |
字节跳动 +28
|
研发 +5
|
116 |
NC4 | 判断链表中是否有环 | 链表 | 简单 | 35.91% |
百度 +30
|
研发 +5
|
93 |
NC45 | 实现二叉树先序,中序和后序遍历 | 栈树哈希 | 中等 | 32.47% |
字节跳动 +30
|
研发 +5
|
89 |
NC105 | 二分查找 | 二分 | 简单 | 21.54% |
百度 +33
|
研发 +5
|
84 |
NC119 | 最小的K个数 | 堆排序 | 较难 | 22.46% |
字节跳动 +28
|
研发 +4
|
61 |
NC15 | 求二叉树的层序遍历 | 树bfs | 中等 | 35.41% |
快手 +21
|
研发 +5
|
54 |
NC88 | 寻找第K大 | 堆分治 | 中等 | 22.18% |
字节跳动 +19
|
研发 +4
|
52 |
NC68 | 跳台阶 | 递归 | 简单 | 36.42% |
字节跳动 +18
|
研发 +5
|
49 |
NC61 | 两数之和 | 数组哈希 | 简单 | 27.15% |
字节跳动 +22
|
研发 +5
|
48 |
NC19 | 子数组的最大累加和问题 | 动态规划分治 | 简单 | 61.90% |
字节跳动 +20
|
研发 +5
|
48 |
NC33 | 合并有序链表 | 链表 | 简单 | 32.78% |
字节跳动 +21
|
研发 +4
|
47 |
NC76 | 用两个栈实现队列 | 栈 | 简单 | 36.82% |
字节跳动 +20
|
研发 +4
|
46 |
NC41 | 最长无重复子串 | 哈希双指针字符串 | 中等 | 27.70% |
字节跳动 +10
|
研发 +5
|
40 |
NC22 | 合并两个有序的数组 | 数组双指针 | 简单 | 28.09% |
快手 +17
|
研发 +5
|
39 |
NC50 | 链表中的节点每k个一组翻转 | 链表 | 较难 | 27.65% |
字节跳动 +11
|
研发 +5
|
38 |
NC3 | 链表中环的入口节点 | 链表双指针 | 中等 | 29.03% |
字节跳动 +14
|
研发 +3
|
37 |
NC52 | 括号序列 | 栈字符串 | 简单 | 30.36% |
字节跳动 +16
|
研发 +5
|
34 |
NC53 | 删除链表的倒数第n个节点 | 链表双指针 | 中等 | 28.03% |
字节跳动 +13
|
研发 +4
|
34 |
NC127 | 最长公共子串 | 动态规划 | 中等 | 14.04% |
字节跳动 +14
|
研发 +5
|
32 |
NC40 | 两个链表生成相加链表 | 链表 | 中等 | 14.90% |
字节跳动 +10
|
研发 +3
|
30 |
NC102 | 最近公共祖先 | 树 | 中等 | 32.43% |
字节跳动 +14
|
研发 +4
|
30 |
NC14 | 二叉树的之字形层序遍历 | 栈树bfs | 中等 | 25.93% |
字节跳动 +12
|
研发 +5
|
29 |
NC1 | 大数加法 | 字符串模拟 | 中等 | 32.24% |
字节跳动 +12
|
研发 +4
|
29 |
NC103 | 反转字符串 | 字符串双指针 | 入门 | 48.03% |
字节跳动 +15
|
研发 +4
|
28 |
NC66 | 两个链表的第一个公共结点 | 链表 | 简单 | 33.93% |
字节跳动 +10
|
研发 +4
|
27 |
NC32 | 求平方根 | 数学二分 | 简单 | 28.99% |
字节跳动 +11
|
研发 +2
|
26 |
NC38 | 螺旋矩阵 | 数组 | 入门 | 23.25% |
字节跳动 +8
|
研发 +4
|
26 |
NC12 | 重建二叉树 | 树dfs数组 | 中等 | 24.40% |
字节跳动 +15
|
研发 +5
|
26 |
NC51 | 合并k个已排序的链表 | 堆链表分治 | 较难 | 28.31% |
字节跳动 +10
|
研发 +5
|
25 |
NC121 | 字符串的排列 | 字符串动态规划 | 较难 | 21.26% |
字节跳动 +9
|
研发 +5
|
25 |
NC65 | 斐波那契数列 | 数组 | 入门 | 31.76% |
华为 +15
|
研发 +3
|
24 |
NC91 | 最长递增子序列 | 二分动态规划 | 中等 | 21.80% |
字节跳动 +8
|
研发 +3
|
24 |
NC48 | 在转动过的有序数组中寻找目标值 | 数组二分 | 中等 | 35.67% |
字节跳动 +10
|
研发 +5
|
23 |
NC54 | 数组中相加和为0的三元组 | 数组双指针 | 中等 | 20.70% |
字节跳动 +9
|
研发 +5
|
23 |
NC128 | 容器盛水问题 | 双指针 | 中等 | 27.20% |
字节跳动 +5
|
研发 +5
|
23 |
NC17 | 最长回文子串 | 字符串动态规划 | 中等 | 28.52% |
快手 +12
|
研发 +5
|
23 |
NC72 | 二叉树的镜像 | 树 | 简单 | 43.81% |
百度 +9
|
研发 +3
|
22 |
NC70 | 链表排序 | 链表排序 | 简单 | 27.12% |
腾讯 +10
|
研发 +4
|
22 |
NC136 | 输出二叉树的右视图 | 树 | 中等 | 41.71% |
字节跳动 +8
|
研发 +2
|
22 |
NC90 | 设计getMin功能的栈 | 栈 | 简单 | 39.41% |
字节跳动 +7
|
研发 +3
|
21 |
NC137 | 表达式求值 | 栈递归 | 中等 | 43.62% |
字节跳动 +9
|
研发 +4
|
20 |
NC62 | 平衡二叉树 | 树dfs | 简单 | 35.68% |
字节跳动 +8
|
研发 +5
|
19 |
NC141 | 判断回文 | 字符串 | 入门 | 52.92% |
腾讯 +11
|
研发 +3
|
19 |
NC109 | 岛屿数量 | bfs搜索dfs | 中等 | 17.39% |
百度 +12
|
研发 +3
|
19 |
NC7 | 股票(一次交易) | 数组动态规划 | 简单 | 38.46% |
字节跳动 +6
|
研发 +3
|
18 |
NC13 | 二叉树的最大深度 | 树dfs | 简单 | 50.27% |
字节跳动 +10
|
研发 +4
|
18 |
NC75 | 数组中只出现一次的数字 | 位运算哈希 | 简单 | 30.58% |
腾讯 +10
|
研发 +3
|
18 |
NC112 | 进制转换 | 位运算 | 简单 | 27.44% |
腾讯 +9
|
研发 +3
|
18 |
NC97 | 出现次数的TopK问题 | 哈希 | 中等 | 30.21% |
字节跳动 +12
|
研发 +2
|
18 |
NC59 | 矩阵的最小路径和 | 数组动态规划 | 中等 | 35.83% |
字节跳动 +6
|
研发 +3
|
16 |
NC96 | 判断一个链表是否为回文结构 | 链表双指针 | 简单 | 26.97% |
字节跳动 +6
|
研发 +3
|
15 |
NC5 | 二叉树根节点到叶子节点的所有路径和 | 树dfs | 中等 | 28.17% |
字节跳动 +5
|
研发 +4
|
14 |
NC8 | 二叉树根节点到叶子节点和为指定值的路径 | 树dfs | 中等 | 27.27% |
字节跳动 +5
|
研发 +4
|
14 |
NC21 | 链表内指定区间反转 | 链表 | 中等 | 25.95% |
字节跳动 +6
|
研发 +1
|
14 |
NC73 | 数组中出现次数超过一半的数字 | 数组哈希 | 简单 | 28.41% |
字节跳动 +9
|
研发 +4
|
14 |
NC30 | 数组中未出现的最小正整数 | 数组 | 中等 | 42.62% |
字节跳动 +4
|
研发 +4
|
14 |
NC36 | 在两个长度相等的排序数组中找到上中位数 | 数组二分分治 | 较难 | 32.26% |
百度 +5
|
研发 +4
|
14 |
NC16 | 判断二叉树是否对称 | 树dfsbfs | 简单 | 35.45% |
猿辅导 +8
|
研发 +2
|
13 |
NC69 | 链表中倒数第k个结点 | 链表双指针 | 简单 | 21.13% |
快手 +8
|
研发 +4
|
13 |
NC86 | 矩阵元素查找 | 分治二分 | 中等 | 37.85% |
微软 +9
|
研发 +4
|
13 |
NC35 | 最小编辑代价 | 字符串动态规划 | 较难 | 23.81% |
腾讯 +6
|
研发 +3
|
13 |
NC6 | 二叉树的最大路径和 | 树dfs | 较难 | 24.86% |
字节跳动 +5
|
研发 +3
|
12 |
NC24 | 删除有序链表中重复出现的元素 | 链表 | 中等 | 26.79% |
快手 +5
|
研发 +3
|
12 |
NC100 | 将字符串转化为整数 | 字符串 | 较难 | 15.37% |
字节跳动 +6
|
研发 +4
|
12 |
NC133 | 链表的奇偶重排 | 链表排序 | 中等 | 41.97% |
猿辅导 +4
|
研发 +1
|
12 |
NC34 | 求路径 | 动态规划 | 简单 | 39.04% |
快手 +8
|
研发 +2
|
12 |
NC20 | 数字字符串转化成IP地址 | 字符串回溯 | 中等 | 26.09% |
快手 +4
|
研发 +3
|
11 |
NC26 | 括号生成 | 回溯 | 中等 | 38.63% |
字节跳动 +4
|
研发 +3
|
11 |
NC57 | 反转数字 | 数学 | 简单 | 44.11% |
跟谁学 +5
|
研发 +3
|
11 |
NC92 | 最长公共子序列 | 动态规划 | 中等 | 37.18% |
快手 +6
|
研发 +3
|
11 |
NC60 | 判断一棵二叉树是否为搜索二叉树和完全二叉树 | 树dfs | 中等 | 23.63% |
猿辅导 +4
|
研发 +4
|
10 |
NC37 | 合并区间 | 数组排序 | 中等 | 23.24% |
字节跳动 +4
|
研发 +2
|
10 |
NC56 | 回文数字 | 数学 | 简单 | 40.16% |
网易 +6
|
研发 +1
|
10 |
NC87 | 丢棋子问题 | 动态规划 | 中等 | 18.10% |
腾讯 +8
|
研发 +2
|
10 |
NC18 | 顺时针旋转矩阵 | 数组 | 中等 | 33.56% |
微软 +4
|
研发 +1
|
10 |
NC2 | 重排链表 | 链表 | 中等 | 20.39% |
字节跳动 +4
|
研发 +3
|
9 |
NC9 | 二叉树中是否存在节点和为指定值的路径 | 树dfs | 简单 | 35.05% |
快手 +3
|
研发 +3
|
9 |
NC25 | 删除有序链表中重复的元素 | 链表 | 简单 | 34.44% |
字节跳动 +5
|
研发 +2
|
9 |
NC42 | 有重复项数字的所有排列 | 回溯 | 中等 | 28.52% |
字节跳动 +5
|
研发 +4
|
9 |
NC49 | 最长的括号子串 | 字符串动态规划 | 较难 | 21.89% |
猿辅导 +5
|
研发 +3
|
9 |
NC81 | 二叉搜索树的第k个结点 | 树 | 简单 | 24.05% |
海康威视 +6
|
研发 +1
|
9 |
NC82 | 滑动窗口的最大值 | 堆双指针 | 较难 | 24.23% |
猿辅导 +7
|
研发 +3
|
9 |
NC111 | 最大数 | 排序 | 中等 | 31.99% |
腾讯 +6
|
研发 +1
|
9 |
NC27 | 集合的所有子集 | 数组回溯位运算 | 中等 | 19.09% |
快手 +3
|
研发 +2
|
8 |
NC46 | 加起来和为目标值的组合 | 数组回溯 | 中等 | 27.25% |
字节跳动 +5
|
研发 +2
|
8 |
NC123 | 序列化二叉树 | 队列树 | 较难 | 22.53% |
字节跳动 +4
|
研发 +2
|
8 |
NC126 | 换钱的最少货币数 | 动态规划 | 简单 | 37.58% |
快手 +4
|
研发 +2
|
8 |
NC95 | 最长连续子序列 | 并查集数组 | 较难 | 28.24% |
腾讯 +6
|
研发 +3
|
8 |
NC10 | 大数乘法 | 字符串 | 中等 | 36.92% |
字节跳动 +4
|
研发 +3
|
8 |
NC99 | 树的直径 | 树 | 中等 | 28.93% |
字节跳动 +2
|
研发 +3
|
8 |
NC101 | 缺失数字 | 数组数学二分位运算 | 简单 | 54.24% |
京东 +3
|
研发 +4
|
8 |
NC43 | 没有重复项数字的所有排列 | 回溯 | 中等 | 35.88% |
快手 +3
|
研发 +3
|
7 |
NC55 | 最长公共前缀 | 字符串 | 简单 | 31.15% |
字节跳动 +3
|
研发 +2
|
7 |
NC89 | 字符串变形 | 字符串 | 简单 | 17.17% |
字节跳动 +3
|
研发 +3
|
7 |
NC94 | LFU缓存结构设计 | 模拟 | 较难 | 23.79% |
快手 +6
|
研发 +3
|
7 |
NC132 | 环形链表的约瑟夫问题 | 链表数学 | 中等 | 41.54% |
用友 +4
|
研发 +2
|
7 |
NC108 | 最大正方形 | 动态规划 | 中等 | 33.00% |
百度 +4
|
研发 +2
|
7 |
NC113 | 验证IP地址 | 字符串 | 中等 | 34.96% |
字节跳动 +4
|
研发 +2
|
7 |
NC28 | 最小覆盖子串 | 字符串哈希双指针 | 较难 | 25.07% |
快手 +3
|
研发 +2
|
6 |
NC124 | 字典树的实现 | 中等 | 40.95% |
腾讯 +4
|
研发 +2
|
6 | |
NC118 | 数组中的逆序对 | 数组 | 困难 | 15.76% |
字节跳动 +4
|
研发 +2
|
6 |
NC120 | 二进制中1的个数 | 数学 | 中等 | 34.45% |
小米 +4
|
研发 +3
|
6 |
NC122 | 正则表达式匹配 | 字符串 | 较难 | 21.09% |
字节跳动 +3
|
研发 +3
|
6 |
NC131 | 随时找到数据流的中位数 | 堆 | 中等 | 23.05% |
字节跳动 +3
|
研发 +3
|
6 |
NC107 | 寻找峰值 | 数组 | 入门 | 30.85% |
字节跳动 +2
|
研发 +2
|
6 |
NC110 | 旋转数组 | 数组 | 入门 | 39.94% |
字节跳动 +3
|
研发 +3
|
6 |
NC39 | N皇后问题 | 回溯 | 较难 | 18.73% |
携程 +3
|
研发 +1
|
5 |
NC29 | 矩阵查找 | 数组二分 | 中等 | 38.10% |
字节跳动 +2
|
研发 +2
|
5 |
NC80 | 把二叉树打印成多行 | 树bfs | 中等 | 31.06% |
百度 +3
|
研发 +1
|
5 |
NC116 | 把数字翻译成字符串 | 动态规划 | 中等 | 20.10% |
快手 +2
|
研发 +3
|
5 |
NC134 | 股票(无限次交易) | 贪心 | 简单 | 54.52% |
字节跳动 +1
|
算法 +4
|
4 |
NC77 | 调整数组顺序使奇数位于偶数前面 | 数组 | 简单 | 26.91% |
百度 +2
|
研发 +1
|
4 |
NC83 | 子数组最大乘积 | 数组动态规划 | 中等 | 26.41% |
微软 +3
|
研发 +2
|
4 |
NC143 | 矩阵乘法 | 数组模拟 | 中等 | 58.22% |
中兴 +2
|
研发 +2
|
4 |
NC117 | 合并二叉树 | 树 | 简单 | 57.51% |
百度 +2
|
研发 +3
|
4 |
NC138 | 矩阵最长递增路径 | dfs | 中等 | 37.70% |
字节跳动 +2
|
研发 +1
|
4 |
NC58 | 找到搜索二叉树中两个错误的节点 | 树dfs | 简单 | 30.41% |
快手 +0
|
研发 +1
|
3 |
NC135 | 股票(两次交易) | 动态规划 | 中等 | 40.17% |
字节跳动 +0
|
研发 +3
|
3 |
NC64 | 二叉搜索树与双向链表 | 分治 | 中等 | 28.56% |
字节跳动 +1
|
研发 +1
|
3 |
NC142 | 最长重复子串 | 字符串 | 中等 | 22.43% |
百度 +2
|
研发 +2
|
3 |
NC98 | 判断t1树中是否有与t2树拓扑结构完全相同的子树 | 树 | 简单 | 39.01% |
猿辅导 +1
|
研发 +2
|
3 |
NC11 | 有序数组转化为二叉平衡树 | 树dfs | 简单 | 27.84% |
百度 +1
|
研发 +1
|
2 |
NC44 | 通配符匹配 | 字符串贪心动态规划回溯 | 较难 | 24.66% |
字节跳动 +0
|
研发 +2
|
2 |
NC47 | 数独 | 哈希回溯 | 较难 | 28.67% |
腾讯 +1
|
研发 +1
|
2 |
NC63 | 扑克牌顺子 | 字符串 | 简单 | 25.49% |
百度 +1
|
客户端 +1
|
2 |
NC71 | 旋转数组的最小数字 | 二分 | 简单 | 33.29% |
百度 +0
|
研发 +1
|
2 |
NC74 | 数字在升序数组中出现的次数 | 数组二分 | 简单 | 30.76% |
快手 +1
|
研发 +1
|
2 |
NC84 | 完全二叉树结点数 | 树二分 | 中等 | 37.80% |
腾讯 +1
|
研发 +1
|
2 |
NC125 | 未排序数组中累加和为给定值的最长子数组长度 | 哈希 | 简单 | 39.85% |
快手 +1
|
研发 +1
|
2 |
NC129 | 有关阶乘的两个问题1 | 数学 | 中等 | 38.08% |
腾讯 +0
|
研发 +2
|
2 |
NC139 | 孩子们的游戏 | 数学 | 中等 | 30.85% |
作业帮 +0
|
研发 +1
|
2 |
NC130 | 分糖果问题 | 中等 | 30.42% |
字节跳动 +0
|
研发 +1
|
2 | |
NC104 | 比较版本号 | 字符串 | 中等 | 30.01% |
小米 +1
|
研发 +2
|
2 |
NC23 | 划分链表 | 链表双指针 | 中等 | 29.80% |
小米 +0
|
研发 +1
|
1 |
NC79 | 丑数 | 数学二分 | 中等 | 22.00% |
字节跳动 +0
|
算法 +1
|
1 |
NC106 | 三个数的最大乘积 | 数组数学 | 简单 | 31.88% |
腾讯 +0
|
客户端 +1
|
1 |
NC114 | 旋转字符串 | 字符串 | 简单 | 53.94% |
微软 +0
|
研发 +1
|
1 |
NC115 | 栈和排序 | 栈排序 | 中等 | 21.37% |
美团 +0
|
研发 +1
|
1 |
NC31 | 第一个只出现一次的字符 | 字符串 | 简单 | 28.77% |
--
|
--
|
-- |
NC67 | 汉诺塔问题 | 递归动态规划 | 中等 | 26.55% |
--
|
--
|
-- |
NC144 | 不相邻最大子序列和 | 动态规划 | 中等 | 40.43% |
--
|
--
|
-- |
NC145 | 01背包 | 动态规划 | 简单 | 41.00% |
--
|
--
|
-- |
NC147 | 主持人调度 | 贪心 | 中等 | 27.03% |
--
|
--
|
-- |
NC148 | 几步可以从头跳到尾 | 动态规划 | 简单 | 35.48% |
--
|
--
|
-- |
NC149 | kmp算法 | 字符串 | 中等 | 53.66% |
--
|
--
|
-- |
NC150 | 二叉树的个数 | 树 | 中等 | 0.00% |
--
|
--
|
-- |
NC151 | 最大公约数 | 数学 | 入门 | 46.15% |
--
|
--
|
-- |
NC152 | 数的划分 | 动态规划 | 中等 | 37.74% |
--
|
--
|
-- |
NC153 | 信封嵌套问题 | 动态规划 | 中等 | 33.33% |
--
|
--
|
-- |
NC154 | 最长回文子序列 | 动态规划 | 中等 | 35.38% |
--
|
--
|
-- |
NC155 | 牛牛的数列 | 动态规划 | 简单 | 26.32% |
--
|
--
|
-- |
NC156 | 数组中只出现一次的数(其它数出现k次) | 位运算 | 简单 | 42.39% |
--
|
--
|
-- |
NC157 | 单调栈 | 栈 | 中等 | 70.59% |
--
|
--
|
-- |
NC158 | 单源最短路 | 图 | 中等 | 0.00% |
--
|
--
|
-- |
NC159 | 最小生成树 | 图 | 中等 | 30.43% |
--
|
--
|
-- |
NC85 | 拼接所有的字符串产生字典序最小的字符串 | 贪心 | 中等 | 37.61% |
--
|
--
|
-- |