进击的喵哥
进击的喵哥
全部文章
图解高频算法
博客搭建(3)
图解算法大全(1)
开源哪些事(1)
题解(1)
归档
标签
去牛客网
登录
/
注册
龙哥手记欢迎你关注
全部文章
/ 图解高频算法
(共17篇)
题解 |【清晰图解】 #二叉搜索树与双向链表#也不难
默认你已经理解题意 [机智] 解题思路如下 先得搞明白什么是二叉搜索树 ? 是一棵有序的二叉树,所以我有时候也叫它二叉排序树。具备以下性质的二叉树我们称之为二叉搜索树: 1 若它的左子树不是空,那么左子树上的...
C++
Java
Python2
二叉搜索树
动态规划
字符串
数组
广度优先搜索
并查集
双向链表
2022-04-26
1
469
题解 |【清晰图解】 #序列化二叉树#重要是思路
默认你已理解题意 那就开始吧 思路如下 我们知道平时使用的前序、中序、后序、层序遍历,遍历过程中记录二叉树的信息是不完整的,也就是说唯一的输出序列可能对应着多种二叉树可能性。我们知道 序列化 和 反序列化 是 完全可逆。 所以序列化的字符串能够携带 完整的二叉树信息,我就是说的这个意思 1 看...
C++
Java
Python2
二叉树
动态规划
排序树
数组
二叉搜索树
链表
二分查找
2022-04-26
1
401
题解 | 【清晰图解】剑指Offer41.#数据流中的中位数#
默认你已经理解清楚题意 思路如下 题目的要求是要获取一个数据流排序后的中位数,那么我们可以用两个优先队列(堆)来实现。 该题用一个大顶堆,一个小顶堆来完成。 大顶堆的每个节点的值都大于等于左右孩子节点的值,也就是说堆顶是最大值。 小顶堆的每个节点的值都小于等于左右孩子节点的值,堆顶也就是最小...
C++
Java
堆(优先队列)
双指针
动态规划
递归
链表
数据流
双向链表
2022-04-26
1
328
题解 | #单链表的排序#堆排序最简单而直接
默认你已经理解题意 思路如下 堆排序-简单直接 定义类型为ListNode的最小堆 建堆:链表所有node入堆 依次弹出堆顶node,即是从小到大的顺序 时间复杂度O(nlogn),空间复杂度O(n) 此法和数组的堆排序几乎没有区别,实现起来最简单,不易出错 class Solution { ...
C++
Java
二叉树
动态规划
二分查找
堆(优先队列)
堆
2022-04-23
1
852
题解 | #重建二叉树#递归来解已拿捏
默认你已经理解题意 这道题既然要重建二叉树,那重建一颗二叉树需要啥? 根节点 左节点 右节点 如何找到第一个根节点呢? 那为啥是第一个根节点呢? 因为你从第一个根节点开始创建的呀,不是吗 前序遍历: 根节点 -- 左节点 -- 右节点 中序遍历: 左节点 -- 根节点 -- 右节点 根据上...
Java
C++
Python2
递归
二叉树
字符串匹配
动态规划
字符串
数学
深度优先搜索
2022-04-23
1
266
题解 | #用两个栈实现队列#我用均摊复杂度 已经击败100%的对手啦!
思路如下 无论是「用栈实现队列」还是说「用队列实现栈」,其实思路都是类似的。 都可以通过用两个 栈或者队列 来解决。 现在我们创建两个栈,分别是 out 和 in,用作处理「输出」和「输入」两个操作。 其实就是两个栈来回的「倒腾」 而对于「何时倒腾」决定了是 O(n) 解法 还是 均摊 O(1)...
C++
Java
堆(优先队列)
栈
回溯
贪心
动态规划
深度优先搜索
滑动窗口
2022-04-20
1
380
题解 | #动图来解# 剑指 Offer 07. 重建二叉树(分治算法,清晰图解)
前提知识点 前序遍历性质: 节点按照 [ 根节点 | 左子树 | 右子树 ] 进行排序。 中序遍历性质: 节点按照 [ 左子树 | 根节点 | 右子树 ] 进行 排序。 看题举的例子: 前序遍历划分成 [ 3 | 9 | 20 15 7 ] 中序遍历划分成 [ 9 | 3 | 15 20 7 ] ...
C++
Java
Python2
二叉树
分治
双指针
栈
动态规划
数组
2022-04-20
0
325
首页
上一页
1
2
下一页
末页