====== 差别 ======
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
教程_算法 [2021/09/14 11:26] admin |
教程_算法 [2021/09/16 11:40] (当前版本) admin |
||
---|---|---|---|
行 1: | 行 1: | ||
- | # 牛客网高频算法Top200 | + | # 面试高频算法 |
+ | |||
+ | - [反转链表 (简单, 字节跳动 +59)](教程/ | ||
+ | - [排序 (中等, 字节跳动 +34)](教程/ | ||
+ | - [设计LRU缓存结构 (中等, 字节跳动 +34)](教程/ | ||
+ | - [实现二叉树先序,中序和后序遍历 (中等, 字节跳动 +35)](教程/ | ||
+ | - [最小的K个数 (中等, 腾讯 +35)](教程/ | ||
+ | - [求二叉树的层序遍历 (中等, 字节跳动 +25)](教程/ | ||
+ | - [寻找第K大 (中等, 字节跳动 +23)](教程/ | ||
+ | - [两数之和 (简单, 字节跳动 +25)](教程/ | ||
+ | - [合并有序链表 (简单, 字节跳动 +26)](教程/ | ||
+ | - [用两个栈实现队列 (简单, 字节跳动 +27)](教程/ | ||
+ | - [跳台阶 (简单, 字节跳动 +22)](教程/ | ||
+ | - [链表中的节点每k个一组翻转 (中等, 字节跳动 +14)](教程/ | ||
+ | - [子数组的最大累加和问题 (简单, 字节跳动 +23)](教程/ | ||
+ | - [最长无重复子数组 (中等, 字节跳动 +13)](教程/ | ||
+ | - [判断链表中是否有环 (简单, 字节跳动 +43)](教程/ | ||
+ | - [合并两个有序的数组 (简单, 字节跳动 +21)](教程/ | ||
+ | - [链表中环的入口结点 (中等, 字节跳动 +21)](教程/ | ||
+ | - [括号序列 (简单, 字节跳动 +20)](教程/ | ||
+ | - [删除链表的倒数第n个节点 (中等, 字节跳动 +17)](教程/ | ||
+ | - [大数加法 (中等, 字节跳动 +16)](教程/ | ||
+ | - [按之字形顺序打印二叉树 (简单, 字节跳动 +14)](教程/ | ||
+ | - [最长公共子串 (中等, 字节跳动 +18)](教程/ | ||
+ | - [两个链表的第一个公共结点 (简单, 字节跳动 +14)](教程/ | ||
+ | - [链表相加 (中等, 字节跳动 +15)](教程/ | ||
+ | - [在二叉树中找到两个节点的最近公共祖先 (中等, 字节跳动 +19)](教程/ | ||
+ | - [反转字符串 (入门, 腾讯 +20)](教程/ | ||
+ | - [螺旋矩阵 (入门, 字节跳动 +10)](教程/ | ||
+ | - [斐波那契数列 (入门, 华为 +20)](教程/ | ||
+ | - [最长回文子串 (中等, 字节跳动 +17)](教程/ | ||
+ | - [数组中相加和为0的三元组 (中等, 字节跳动 +11)](教程/ | ||
+ | - [重建二叉树 (中等, 字节跳动 +18)](教程/ | ||
+ | - [最长递增子序列 (中等, 字节跳动 +12)](教程/ | ||
+ | - [求平方根 (简单, 字节跳动 +12)](教程/ | ||
+ | - [在旋转过的有序数组中寻找目标值 (简单, 字节跳动 +2)](教程/ | ||
+ | - [包含min函数的栈 (简单, 字节跳动 +11)](教程/ | ||
+ | - [股票(一次交易) (简单, 字节跳动 +10)](教程/ | ||
+ | - [合并k个有序链表 (较难, 字节跳动 +11)](教程/ | ||
+ | - [字符串的排列 (较难, 字节跳动 +10)](教程/ | ||
+ | - [接雨水问题 (较难, 字节跳动 +7)](教程/ | ||
+ | - [输出二叉树的右视图 (中等, 字节跳动 +10)](教程/ | ||
+ | - [岛屿数量 (中等, 字节跳动 +15)](教程/ | ||
+ | - [二叉树的最大深度 (简单, 字节跳动 +13)](教程/ | ||
+ | - [判断回文 (入门, 腾讯 +13)](教程/ | ||
+ | - [链表排序 (简单, 腾讯 +11)](教程/ | ||
+ | - [平衡二叉树 (简单, 字节跳动 +10)](教程/ | ||
+ | - [数组中出现次数超过一半的数字 (简单, 字节跳动 +13)](教程/ | ||
+ | - [矩阵的最小路径和 (中等, 字节跳动 +11)](教程/ | ||
+ | - [表达式求值 (中等, 华为 +14)](教程/ | ||
+ | - [字符串出现次数的TopK问题 (中等, 腾讯 +15)](教程/ | ||
+ | - [进制转换 (简单, 腾讯 +11)](教程/ | ||
+ | - [判断一个链表是否为回文结构 (简单, 腾讯 +8)](教程/ | ||
+ | - [最小编辑代价 (较难, 字节跳动 +9)](教程/ | ||
+ | - [二叉树根节点到叶子节点的所有路径和 (中等, 字节跳动 +6)](教程/ | ||
+ | - [二叉树和为指定值的路径 (中等, 字节跳动 +8)](教程/ | ||
+ | - [链表内指定区间反转 (中等, 字节跳动 +7)](教程/ | ||
+ | - [求路径 (简单, 字节跳动 +9)](教程/ | ||
+ | - [合并区间 (中等, 字节跳动 +8)](教程/ | ||
+ | - [最长公共子序列-II (中等, 字节跳动 +10)](教程/ | ||
+ | - [在两个长度相等的排序数组中找到上中位数 (较难, 腾讯 +6)](教程/ | ||
+ | - [判断一棵二叉树是否为搜索二叉树和完全二叉树 (中等, 字节跳动 +8)](教程/ | ||
+ | - [删除有序链表中重复的元素-II (中等, 快手 +8)](教程/ | ||
+ | - [将字符串转化为整数 (较难, 字节跳动 +9)](教程/ | ||
+ | - [反转数字 (简单, 跟谁学 +9)](教程/ | ||
+ | - [矩阵元素查找 (中等, 微软 +10)](教程/ | ||
+ | - [数组中未出现的最小正整数 (中等, 字节跳动 +6)](教程/ | ||
+ | - [缺失数字 (入门, 字节跳动 +6)](教程/ | ||
+ | - [链表的奇偶重排 (中等, 字节跳动 +6)](教程/ | ||
+ | - [二叉树的最大路径和 (较难, 字节跳动 +8)](教程/ | ||
+ | - [判断二叉树是否对称 (简单, 百度 +10)](教程/ | ||
+ | - [括号生成 (中等, 字节跳动 +7)](教程/ | ||
+ | - [顺时针旋转矩阵 (中等, 微软 +8)](教程/ | ||
+ | - [数字字符串转化成IP地址 (中等, 快手 +5)](教程/ | ||
+ | - [LFU缓存结构设计 (较难, 腾讯 +9)](教程/ | ||
+ | - [重排链表 (中等, 字节跳动 +6)](教程/ | ||
+ | - [删除有序链表中重复的元素-I (简单, 字节跳动 +7)](教程/ | ||
+ | - [有重复项数字的所有排列 (中等, 字节跳动 +10)](教程/ | ||
+ | - [滑动窗口的最大值 (较难, 腾讯 +10)](教程/ | ||
+ | - [二叉树中是否存在节点和为指定值的路径 (简单, 字节跳动 +5)](教程/ | ||
+ | - [加起来和为目标值的组合 (中等, 字节跳动 +8)](教程/ | ||
+ | - [最长的括号子串 (较难, 字节跳动 +7)](教程/ | ||
+ | - [最长公共前缀 (简单, 字节跳动 +7)](教程/ | ||
+ | - [回文数字 (简单, 网易 +7)](教程/ | ||
+ | - [二分查找-II (中等, 腾讯 +12)](教程/ | ||
+ | - [丢棋子问题 (中等, 腾讯 +9)](教程/ | ||
+ | - [序列化二叉树 (较难, 字节跳动 +5)](教程/ | ||
+ | - [二叉搜索树的第k个结点 (简单, shopee +7)](教程/ | ||
+ | - [字符串变形 (简单, 字节跳动 +5)](教程/ | ||
+ | - [最长连续子序列 (较难, 字节跳动 +8)](教程/ | ||
+ | - [环形链表的约瑟夫问题 (中等, 字节跳动 +6)](教程/ | ||
+ | - [树的直径 (较难, 字节跳动 +3)](教程/ | ||
+ | - [最大数 (中等, 腾讯 +7)](教程/ | ||
+ | - [验证IP地址 (中等, 字节跳动 +7)](教程/ | ||
+ | - [大数乘法 (中等, 字节跳动 +6)](教程/ | ||
+ | - [集合的所有子集 (中等, 腾讯 +4)](教程/ | ||
+ | - [没有重复项数字的所有排列 (中等, 字节跳动 +4)](教程/ | ||
+ | - [链表中倒数最后k个结点 (中等, 字节跳动 +7)](教程/ | ||
+ | - [换钱的最少货币数 (简单, 字节跳动 +6)](教程/ | ||
+ | - [寻找峰值 (入门, 字节跳动 +4)](教程/ | ||
+ | - [最小覆盖子串 (较难, 字节跳动 +4)](教程/ | ||
+ | - [二维数组中的查找 (中等, 字节跳动 +3)](教程/ | ||
+ | - [数组中的逆序对 (中等, shopee +5)](教程/ | ||
+ | - [二进制中1的个数 (中等, 百度 +6)](教程/ | ||
+ | - [最大正方形 (中等, 百度 +5)](教程/ | ||
+ | - [旋转数组 (入门, 字节跳动 +5)](教程/ | ||
+ | - [正则表达式匹配 (较难, 字节跳动 +4)](教程/ | ||
+ | - [随时找到数据流的中位数 (中等, 字节跳动 +5)](教程/ | ||
+ | - [N皇后问题 (较难, 携程 +4)](教程/ | ||
+ | - [字典树的实现 (中等, 腾讯 +5)](教程/ | ||
+ | - [把二叉树打印成多行 (中等, 百度 +4)](教程/ | ||
+ | - [子数组最大乘积 (中等, 深信服 +5)](教程/ | ||
+ | - [把数字翻译成字符串 (中等, 快手 +4)](教程/ | ||
+ | - [股票(无限次交易) (简单, 字节跳动 +2)](教程/ | ||
+ | - [通配符匹配 (较难, 字节跳动 +3)](教程/ | ||
+ | - [二叉树的镜像 (简单, 字节跳动 +4)](教程/ | ||
+ | - [调整数组顺序使奇数位于偶数前面 (中等, 小米 +2)](教程/ | ||
+ | - [判断t1树中是否有与t2树拓扑结构完全相同的子树 (简单, 字节跳动 +3)](教程/ | ||
+ | - [合并二叉树 (简单, 百度 +4)](教程/ | ||
+ | - [股票交易的最大收益(二) (中等, 字节跳动 +2)](教程/ | ||
+ | - [矩阵最长递增路径 (中等, 字节跳动 +3)](教程/ | ||
+ | - [矩阵乘法 (中等, 中兴 +3)](教程/ | ||
+ | - [二叉搜索树与双向链表 (中等, 字节跳动 +2)](教程/ | ||
+ | - [阶乘末尾0的数量 (中等, 腾讯 +2)](教程/ | ||
+ | - [找到搜索二叉树中两个错误的节点 (简单, 快手 +1)](教程/ | ||
+ | - [最长重复子串 (中等, 百度 +4)](教程/ | ||
+ | - [不相邻最大子序列和 (中等, 腾讯 +3)](教程/ | ||
+ | - [有序数组转化为二叉平衡树 (简单, 百度 +2)](教程/ | ||
+ | - [数独 (较难, 腾讯 +2)](教程/ | ||
+ | - [扑克牌顺子 (简单, 字节跳动 +4)](教程/ | ||
+ | - [第一个只出现一次的字符 (简单, 北森 +4)](教程/ | ||
+ | - [孩子们的游戏 (中等, 作业帮 +1)](教程/ | ||
+ | - [旋转数组的最小数字 (简单, 百度 +2)](教程/ | ||
+ | - [数字在升序数组中出现的次数 (简单, 美团 +4)](教程/ | ||
+ | - [丑数 (中等, 字节跳动 +2)](教程/ | ||
+ | - [完全二叉树结点数 (中等, 腾讯 +2)](教程/ | ||
+ | - [未排序数组中累加和为给定值的最长子数组长度 (简单, 快手 +3)](教程/ | ||
+ | - [分糖果问题 (中等, 字节跳动 +1)](教程/ | ||
+ | - [比较版本号 (中等, 小米 +4)](教程/ | ||
+ | - [kmp算法 (中等, 字节跳动 +6)](教程/ | ||
+ | - [最小生成树 (中等, 字节跳动 +1)](教程/ | ||
+ | - [划分链表 (中等, 小米 +2)](教程/ | ||
+ | - [数组中只出现一次的两个数字 (中等, 腾讯 +3)](教程/ | ||
+ | - [三个数的最大乘积 (简单, 腾讯 +2)](教程/ | ||
+ | - [旋转字符串 (简单, 微软 +1)](教程/ | ||
+ | - [栈和排序 (中等, 美团 +1)](教程/ | ||
+ | - [01背包 (简单, 阿里 +1)](教程/ | ||
+ | - [最大公约数 (入门, 腾讯 +2)](教程/ | ||
+ | - [数组中只出现一次的数(其它数出现k次) (简单, 腾讯 +6)](教程/ | ||
+ | - [汉诺塔问题 (中等, )](教程/ | ||
+ | - [拼接所有的字符串产生字典序最小的字符串 (中等, )](教程/ | ||
+ | - [二分查找-I (简单, )](教程/ | ||
+ | - [二叉树的中序遍历 (中等, 字节跳动 +1)](教程/ | ||
+ | - [主持人调度 (中等, 字节跳动 +1)](教程/ | ||
+ | - [几步可以从头跳到尾 (简单, )](教程/ | ||
+ | - [二叉树的个数 (中等, )](教程/ | ||
+ | - [数的划分 (中等, )](教程/ | ||
+ | - [信封嵌套问题 (中等, )](教程/ | ||
+ | - [最长回文子序列 (中等, )](教程/ | ||
+ | - [牛牛的数列 (简单, )](教程/ | ||
+ | - [单调栈 (中等, 字节跳动 +1)](教程/ | ||
+ | - [单源最短路 (中等, 腾讯 +1)](教程/ | ||
+ | |||
+ | > 题目来自牛客网,解题为原创 | ||
- | - [反转链表](教程/ | ||
- | - [排序](教程/ | ||
- | - [设计LRU缓存结构](教程/ | ||
- | - [实现二叉树先序,中序和后序遍历](教程/ | ||
- | - [最小的K个数](教程/ | ||
- | - [求二叉树的层序遍历](教程/ | ||
- | - [寻找第K大](教程/ | ||
- | - [两数之和](教程/ | ||
- | - [合并有序链表](教程/ | ||
- | - [用两个栈实现队列](教程/ | ||
- | - [跳台阶](教程/ | ||
- | - [链表中的节点每k个一组翻转](教程/ | ||
- | - [子数组的最大累加和问题](教程/ | ||
- | - [最长无重复子数组](教程/ | ||
- | - [判断链表中是否有环](教程/ | ||
- | - [合并两个有序的数组](教程/ | ||
- | - [链表中环的入口结点](教程/ | ||
- | - [括号序列](教程/ | ||
- | - [删除链表的倒数第n个节点](教程/ | ||
- | - [大数加法](教程/ | ||
- | - [按之字形顺序打印二叉树](教程/ | ||
- | - [最长公共子串](教程/ | ||
- | - [两个链表的第一个公共结点](教程/ | ||
- | - [链表相加](教程/ | ||
- | - [在二叉树中找到两个节点的最近公共祖先](教程/ | ||
- | - [反转字符串](教程/ | ||
- | - [螺旋矩阵](教程/ | ||
- | - [斐波那契数列](教程/ | ||
- | - [最长回文子串](教程/ | ||
- | - [数组中相加和为0的三元组](教程/ | ||
- | - [重建二叉树](教程/ | ||
- | - [最长递增子序列](教程/ | ||
- | - [求平方根](教程/ | ||
- | - [在旋转过的有序数组中寻找目标值](教程/ | ||
- | - [包含min函数的栈](教程/ | ||
- | - [股票(一次交易)](教程/ | ||
- | - [合并k个有序链表](教程/ | ||
- | - [字符串的排列](教程/ | ||
- | - [接雨水问题](教程/ | ||
- | - [输出二叉树的右视图](教程/ | ||
- | - [岛屿数量](教程/ | ||
- | - [二叉树的最大深度](教程/ | ||
- | - [判断回文](教程/ | ||
- | - [链表排序](教程/ | ||
- | - [平衡二叉树](教程/ | ||
- | - [数组中出现次数超过一半的数字](教程/ | ||
- | - [矩阵的最小路径和](教程/ | ||
- | - [表达式求值](教程/ | ||
- | - [字符串出现次数的TopK问题](教程/ | ||
- | - [进制转换](教程/ | ||
- | - [判断一个链表是否为回文结构](教程/ | ||
- | - [最小编辑代价](教程/ | ||
- | - [二叉树根节点到叶子节点的所有路径和](教程/ | ||
- | - [二叉树和为指定值的路径](教程/ | ||
- | - [链表内指定区间反转](教程/ | ||
- | - [求路径](教程/ | ||
- | - [合并区间](教程/ | ||
- | - [最长公共子序列-II](教程/ | ||
- | - [在两个长度相等的排序数组中找到上中位数](教程/ | ||
- | - [判断一棵二叉树是否为搜索二叉树和完全二叉树](教程/ | ||
- | - [删除有序链表中重复的元素-II](教程/ | ||
- | - [将字符串转化为整数](教程/ | ||
- | - [反转数字](教程/ | ||
- | - [矩阵元素查找](教程/ | ||
- | - [数组中未出现的最小正整数](教程/ | ||
- | - [缺失数字](教程/ | ||
- | - [链表的奇偶重排](教程/ | ||
- | - [二叉树的最大路径和](教程/ | ||
- | - [判断二叉树是否对称](教程/ | ||
- | - [括号生成](教程/ | ||
- | - [顺时针旋转矩阵](教程/ | ||
- | - [数字字符串转化成IP地址](教程/ | ||
- | - [LFU缓存结构设计](教程/ | ||
- | - [重排链表](教程/ | ||
- | - [删除有序链表中重复的元素-I](教程/ | ||
- | - [有重复项数字的所有排列](教程/ | ||
- | - [滑动窗口的最大值](教程/ | ||
- | - [二叉树中是否存在节点和为指定值的路径](教程/ | ||
- | - [加起来和为目标值的组合](教程/ | ||
- | - [最长的括号子串](教程/ | ||
- | - [最长公共前缀](教程/ | ||
- | - [回文数字](教程/ | ||
- | - [二分查找-II](教程/ | ||
- | - [丢棋子问题](教程/ | ||
- | - [序列化二叉树](教程/ | ||
- | - [二叉搜索树的第k个结点](教程/ | ||
- | - [字符串变形](教程/ | ||
- | - [最长连续子序列](教程/ | ||
- | - [环形链表的约瑟夫问题](教程/ | ||
- | - [树的直径](教程/ | ||
- | - [最大数](教程/ | ||
- | - [验证IP地址](教程/ | ||
- | - [大数乘法](教程/ | ||
- | - [集合的所有子集](教程/ | ||
- | - [没有重复项数字的所有排列](教程/ | ||
- | - [链表中倒数最后k个结点](教程/ | ||
- | - [换钱的最少货币数](教程/ | ||
- | - [寻找峰值](教程/ | ||
- | - [最小覆盖子串](教程/ | ||
- | - [二维数组中的查找](教程/ | ||
- | - [数组中的逆序对](教程/ | ||
- | - [二进制中1的个数](教程/ | ||
- | - [最大正方形](教程/ | ||
- | - [旋转数组](教程/ | ||
- | - [正则表达式匹配](教程/ | ||
- | - [随时找到数据流的中位数](教程/ | ||
- | - [N皇后问题](教程/ | ||
- | - [字典树的实现](教程/ | ||
- | - [把二叉树打印成多行](教程/ | ||
- | - [子数组最大乘积](教程/ | ||
- | - [把数字翻译成字符串](教程/ | ||
- | - [股票(无限次交易)](教程/ | ||
- | - [通配符匹配](教程/ | ||
- | - [二叉树的镜像](教程/ | ||
- | - [调整数组顺序使奇数位于偶数前面](教程/ | ||
- | - [判断t1树中是否有与t2树拓扑结构完全相同的子树](教程/ | ||
- | - [合并二叉树](教程/ | ||
- | - [股票交易的最大收益(二)](教程/ | ||
- | - [矩阵最长递增路径](教程/ | ||
- | - [矩阵乘法](教程/ | ||
- | - [二叉搜索树与双向链表](教程/ | ||
- | - [阶乘末尾0的数量](教程/ | ||
- | - [找到搜索二叉树中两个错误的节点](教程/ | ||
- | - [最长重复子串](教程/ | ||
- | - [不相邻最大子序列和](教程/ | ||
- | - [有序数组转化为二叉平衡树](教程/ | ||
- | - [数独](教程/ | ||
- | - [扑克牌顺子](教程/ | ||
- | - [第一个只出现一次的字符](教程/ | ||
- | - [孩子们的游戏](教程/ | ||
- | - [旋转数组的最小数字](教程/ | ||
- | - [数字在升序数组中出现的次数](教程/ | ||
- | - [丑数](教程/ | ||
- | - [完全二叉树结点数](教程/ | ||
- | - [未排序数组中累加和为给定值的最长子数组长度](教程/ | ||
- | - [分糖果问题](教程/ | ||
- | - [比较版本号](教程/ | ||
- | - [kmp算法](教程/ | ||
- | - [最小生成树](教程/ | ||
- | - [划分链表](教程/ | ||
- | - [数组中只出现一次的两个数字](教程/ | ||
- | - [三个数的最大乘积](教程/ | ||
- | - [旋转字符串](教程/ | ||
- | - [栈和排序](教程/ | ||
- | - [01背包](教程/ | ||
- | - [最大公约数](教程/ | ||
- | - [数组中只出现一次的数(其它数出现k次)](教程/ | ||
- | - [汉诺塔问题](教程/ | ||
- | - [拼接所有的字符串产生字典序最小的字符串](教程/ | ||
- | - [二分查找-I](教程/ | ||
- | - [二叉树的中序遍历](教程/ | ||
- | - [主持人调度](教程/ | ||
- | - [几步可以从头跳到尾](教程/ | ||
- | - [二叉树的个数](教程/ | ||
- | - [数的划分](教程/ | ||
- | - [信封嵌套问题](教程/ | ||
- | - [最长回文子序列](教程/ | ||
- | - [牛牛的数列](教程/ | ||
- | - [单调栈](教程/ | ||
- | - [单源最短路](教程/ |