![](https://img.haomeiwen.com/i2650331/d294a1367251e08d.jpg)
分类
- 图(Graph)
- 链表(Linked List)
- 动态规划(Dynamic Programming)
- 排序和搜索
- 树/二叉查找树
- 数论(Number Theory)
- 位操作(BIT Manipulation)
- 字符串/数组
图(Graph)
- 广度优先搜索(BFS)
- 深度优先搜索(DFS)
- 从原顶点到所有顶点的最短路径(Dijkstra)
- 任意顶点之间的最短路径(Floy)
- 图的周期检测(Union Find)
- 最小生成树(Prim)
- 最小生成树(Kruskal)
- 拓扑排序
- Boggle(查找一块字符中所有可能的单词)
- Bridges in a Graph
链表
- 向链表中插入节点(在一些约束基础上)
- 在一个链表中删除一个节点(在一些约束基础上)
- 比较两个链表形式的字符串
- 添加链表表示的两个数字
- 将一个链表合并到另一个链表中的可替代位置
- 将给定大小的组中的链表反转
- 两个链表的联合和交叉
- 检测链表中的循环并删除
- 合并排序链表
- 在单链表中随机地选择一个节点
动态规划
排序和搜索
- 二分查找
- 在排序和旋转数组中搜索元素
- 冒泡排序
- 插入排序
- 归并排序
- 堆排序(二叉堆)
- 快速排序
- 插值搜索
- 在排序数组找到第k个最小/最大元素
- 给定一个排序数组和一个x数,在数组中求一个与x最接近的数组.
树/二叉查找树
- 查找一个二叉树的最小深度
- 在二叉树中的最大路径和
- 检查一个给定的数组可以表示先序遍历二叉搜索树
- 检查二叉树是否是一个完整的二叉树
- 二叉树底部视图
- 在二叉树的视图中打印节点
- 移除根到长度的叶子路径的节点
- 二叉搜索树中的最小公共祖先
- 判断一个二叉树是否是另一个二叉树的子树
- 完美二叉树的反向交替水平
数论(Number Theory)
位操作(BIT Manipulation)
- 最大子阵列异或
- 神奇的数字
- 所有对之间的比特差的总和
- 交换所有的赔率,甚至位
- 再到出现一次的元素
- 给定数的二进制表示
- 计数总数在1到n的所有位数
- 数的旋转位
- 计算将A转换成B的数的位数
- 查找下一个稀疏数
字符串/数组
- 反转数组而不影响特殊字符
- 所有可能的回文分区
- Count triplets with sum smaller than a given value
- Convert array into Zig-Zag fashion
- 从两个给定的排序数组的替换元素生成所有可能的排序数组
- 毕达哥拉斯三重数组
- 与相邻元素的最大子阵列的长度
- 求不可表示为给定数组任意子集之和的最小正整数值
- 最小的子数组之和大于给定值
- 股票购买销售利润最大化
网友评论