leetcode
文章平均质量分 86
算法
5detutu
这个作者很懒,什么都没留下…
展开
-
leetcode 背包类问题
目录1. 分类2. 01背包2.1 二维dp数组01背包2.1.1 确定dp数组以及下标的含义2.1.2 确定递推公式2.1.3 dp数组如何初始化2.1.4 确定遍历顺序2.1.5 举例推导dp数组2.1.6 完整代码2.2 一维dp滚动数组(状态压缩)2.2.1 确定dp数组以及下标的含义2.2.2 确定递推公式2.2.3 dp数组如何初始化2.2.4 确定遍历顺序2.2.5 举例推导dp数组2.2.6 完整代码1. 分类对于面原创 2021-03-07 14:44:36 · 254 阅读 · 0 评论 -
N皇后问题
1. 概述「N 皇后问题」研究的是如何将 N个皇后放置在 N × N 的棋盘上,并且使皇后彼此之间不能相互攻击。皇后的走法是:可以横直斜走,格数不限。因此要求皇后彼此之间不能相互攻击,等价于要求任何两个皇后都不能在同一行、同一列以及同一条斜线上。以 leetcode51 为例讲解N皇后问题 https://leetcode-cn.com/problems/n-queens/1.1 图解简单来说,就是保证横向,纵向以及对角线不存在重复的皇后即可。那为了快速判断该点是否可以放置皇后,我们用.原创 2021-02-20 13:54:09 · 229 阅读 · 0 评论 -
岛屿类问题(DFS、BFS、DSU)
目录1. 深度优先搜索(DFS)1.1 模板1.2 避免重复1.3 图解1.4 实现2. 广度优先搜索(BFS)2.1 实现3. 并查集(DSU)3.1 思路3.1.1 图解3.1.2 初始化数组 QuickUnion()3.1.3 查找所属集合 find()3.1.4 合并 union()3.2 实现在 leetCode 中,「岛屿问题」是一个系列系列问题。我们首先明确一下岛屿问题中的网格结构是如何定义的,以方便我们后面的讨论。网格问题是原创 2021-02-19 23:20:36 · 577 阅读 · 0 评论 -
TopK问题(快排变形/堆/二叉搜索树/计数排序)leetcode347
1. TopK问题描述TopK问题,不管是求前K大/前K小/第K大/第K小等,都有4种不错的方法喔:1. O(N):用快排变形最最最高效解决TopK问题2. O(NlogK):大根堆(前K小)/小根堆(前K大)3. O(NlogK):二叉搜索树4. O(N): 对于数据范围有限的情况例如本题,可以直接计数排序O(N)高效解决1. 快排变形用快排变形最最最高效解决TopK问题 O(N)先通过快排切分排好第K小的数,根据快排切分的性质,它左边的K - 1个数都小于等于它,因此它以原创 2021-02-16 15:11:55 · 487 阅读 · 0 评论 -
二叉树的遍历(BFS和DFS)
目录1. 前序遍历1.1 概念1.2 建立TreeNode模型1.3 递归实现1.4 迭代实现2. 中序遍历2.1 概念2.2 递归实现2.3 迭代实现3. 后序遍历3.1 概念3.2 递归实现3.3 迭代实现1. 前序遍历对应leetcode 144 题 https://leetcode-cn.com/problems/binary-tree-preorder-traversal/1.1 概念DLR--前序遍历(按照访问根节点——左子树—原创 2021-02-15 16:19:22 · 548 阅读 · 0 评论