进击的喵哥
进击的喵哥
全部文章
图解高频算法
博客搭建(3)
图解算法大全(1)
开源哪些事(1)
题解(1)
归档
标签
去牛客网
登录
/
注册
龙哥手记欢迎你关注
全部文章
/ 图解高频算法
(共8篇)
题解 | 【清晰图解】#对称的二叉树#递龟已经秒杀
默认你已经理解题意了哈 递归的难点在于:找到可以递归的点在哪里 为什么很多同学觉得递归一看就会,一写就废。 或者说是自己没有深入思考而无法写出来呢,关键是你对递归理解的不够深。 对这道题: 递归的点怎么找?我从拿到题的第一时间开始想,思路如下: 首先你怎么判断一棵树是不是对称二叉树? 答案...
C++
Java
Python3
动态规划
并查集
递归
双指针
字符串
数组
贪心
2022-05-02
1
468
题解 |【清晰图解】 #数组中出现次数超过一半的数字#摩尔投票
默认你已经理解题意了哈 思路如下 想象一下,假设一个数组是一个投票箱,数组元素是一张已经写了选举人编号的一张选票 题目上说要求我们找出哪个数字,能够超过了数组的一半呢? 是否就可以想象成,哪个人成为了最终选举的胜利者! 那么,我们接下来要做的事情,就是找到票数最多的那个人的编号就可以了 是不是感觉...
C++
Java
Python3
数学
数组
字符串
动态规划
二叉树
双指针
分治
2022-05-02
1
395
题解 | 【清晰图解】#三数之和#排序后步步逼近双指针
默认你已经理解题意了哈 双指针来解 双指针法使用之前: 先把给定 nums 进行排序,复杂度是 O(NlogN) 然后固定 3 个指针中最左(也就是最小数字)的指针 k,双指针 i,j 分指向数组索引 (k,len(nums)) 两端,然后用双指针交替向中间移动,记录每个固定指针 k 的所有满足 ...
C++
Java
Python3
双指针
字符串
动态规划
二叉树
数组
二分查找
2022-04-29
1
438
题解 |【清晰图解】 #链表中环的入口结点#哈希和快慢指针来解
默认你已经理解题意 第一种 用哈希表来解 思路如下 一个非常直观的思路是:我们遍历链表中的每个节点,并将它记录下来;一旦遇到了此前遍历过的节点,就可以判定链表中存在环。借助哈希表可以很方便地实现。 public class Solution {  ...
Java
Python3
二叉树
动态规划
字符串
数组
数据库
二分查找
双指针
2022-04-28
0
473
题解 |【清晰图解】 #删除有序链表中重复的元素-II#快进来!快进来!!
题意很简单 在一个有序链表中,如果说一个节点的值出现不止一次,那么把所有等于此值的节点全部删掉。 传统手艺,延年益寿😜 别看图拉,看黑板! 因为是有序链表,那如果一个节点的值出现不止一次,那么这两个值肯定是相邻的哦。 三种解法来做 下面用两种方法 :递归,迭代,其中迭代又分为两种方...
C++
Java
Python3
二叉树
前缀和
二叉搜索树
二分查找
动态规划
字符串
双指针
2022-04-26
1
485
题解 |【通俗易懂】 #二叉树的中序遍历#颜色标记这个好
已默认你已经读懂题意 在树的深度优先遍历里面(包括前序、中序、后序这三种遍历),做二叉树的中序遍历其实递归方法是最为直观易懂,但是考虑到效率的问题,我的建议不使用递归。 另外就是栈迭代的方法虽然确实提高了效率,但嵌套循环太多导致非常的烧脑,不易理解,容易造成“一看就懂,一写就废”的尴尬,另外对于其...
Java
C++
Python3
动态规划
字符串
二叉树
链表
双指针
最小生成树
递归
2022-04-26
0
442
题解 | 【清晰图解】剑指Offer41.#数据流中的中位数#
默认你已经理解清楚题意 思路如下 题目的要求是要获取一个数据流排序后的中位数,那么我们可以用两个优先队列(堆)来实现。 该题用一个大顶堆,一个小顶堆来完成。 大顶堆的每个节点的值都大于等于左右孩子节点的值,也就是说堆顶是最大值。 小顶堆的每个节点的值都小于等于左右孩子节点的值,堆顶也就是最小...
C++
Java
堆(优先队列)
双指针
动态规划
递归
链表
数据流
双向链表
2022-04-26
1
328
题解 | #动图来解# 剑指 Offer 07. 重建二叉树(分治算法,清晰图解)
前提知识点 前序遍历性质: 节点按照 [ 根节点 | 左子树 | 右子树 ] 进行排序。 中序遍历性质: 节点按照 [ 左子树 | 根节点 | 右子树 ] 进行 排序。 看题举的例子: 前序遍历划分成 [ 3 | 9 | 20 15 7 ] 中序遍历划分成 [ 9 | 3 | 15 20 7 ] ...
C++
Java
Python2
二叉树
分治
双指针
栈
动态规划
数组
2022-04-20
0
325