1、按照leetcode标签分类
标签 | 分类 | 常见题 |
---|---|---|
基本 | 数组 字符串 排序 矩阵 模拟 枚举 字符串匹配 桶排序 计数排序基数排序 | |
算法 | 动态规划、深度优先搜索、贪心、广度优先搜索、二分查找、回溯、递归、分治、记忆化搜索、归并排序、快速选择 | |
基础数据结构 | 哈希表、树、二叉树、栈、堆(优先队列)图、链表、二叉搜索树、单调栈、有序集合、队列、拓扑排序、最短路、双向链表、单调队列、最小生成树、欧拉回路、双连通分量、强连通分量 | |
高级数据结构 | 并查集、字典树、线段树、树状数组、后缀数组 | |
技巧 | 双指针、位运算、前缀和、计数、滑动窗口、状态压缩、哈希函数、滚动哈希、扫描线 | |
数学 | 数学、几何、博弈、组合数学、数论、随机化、概率与统计、水塘抽样、拒绝采样 | |
其他 | 数据库、设计、数据流、交互、脑筋急转弯、迭代器、多线程Shell |
2、面试算法
算法到底应该怎么学?
献上一些面试常考算法类型和经典题,愉快地刷起来吧~
数学
尾部的零
斐波那契数列
x的平方根
大整数乘法
骰子求和
最多有多少个点在一条直线上
超级丑数
比特位操作
将整数A转换为B更新二进制位
二进制表示
O(1)时间检测2的幂次
二进制中有多少个1
动态规划
编辑距离正则表达式匹配
交叉字符串
乘积最大子序列
二叉树中的最大路径和
不同的路径
通配符匹配
堆
滑动窗口的中位数数据流中位数
最高频的K个单词
接雨水
堆化
排序矩阵中的从小到大第k个数
二叉树
二叉树中序遍历二叉树的序列化和反序列化
子树
最近公共祖先
二叉树的层次遍历
将二叉树拆成链表
在二叉查找树中插入节点
二分法
经典二分查找问题二分查找
两数组的交
区间最小数
寻找旋转排序数组中的最小值
搜索排序区间
寻找峰值
哈希表
变形词子串哈希函数
短网址
复制带随机指针的链表
最小子串覆盖
矩阵
搜索二维矩阵旋转图像
岛屿的个数
螺旋矩阵
链表
实现一个链表的反转链表求和 II
删除链表中的元素
LRU缓存策略
合并两个排序链表
两个链表的交叉
翻转链表 II
复制带随机指针的链表
带环链表
枚举法
统计数字名人确认
最长连续上升子序列
最大子数组差
最长公共前缀
排序
快排摆动排序
最大间距
最接近零的子数组和
最大数
四数之和
数组划分
第K大元素
排颜色
深度优先搜索
N皇后问题图是否是树
带重复元素的排列
分割回文串
数组
数组划分逆序对
合并区间
搜索旋转排序数组
最大子数组
删除排序数组中的重复数字
第二大的数组
先递增后递减数组中的最大值
两数和 - 输入的数据是有序的
两个排序数组的中位数
在大数组中查找
颜色分类
合并排序数组
中位数
奇偶分割数组
贪心
主元素寻找缺失的数
买卖股票最佳时机
加油站
删除数字
落单的数
最大子数组差
线段树
线段树查询线段树的构造
线段树的修改
区间求和
统计比给定整数小的数的个数
整数
反转整数将整数A转换为B
整数排序
字符串处理
罗马数字转整数回文数
乱序字符串
有效回文串
翻转字符串
最长无重复字符的子串
字符串压缩
比较字符串编辑距离II