进击的喵哥
进击的喵哥
全部文章
分类
博客搭建(3)
图解算法大全(1)
图解高频算法(19)
开源哪些事(1)
题解(1)
归档
标签
去牛客网
登录
/
注册
龙哥手记欢迎你关注
全部文章
(共14篇)
题解 |【清晰图解】 #数组中出现次数超过一半的数字#摩尔投票
默认你已经理解题意了哈 思路如下 想象一下,假设一个数组是一个投票箱,数组元素是一张已经写了选举人编号的一张选票 题目上说要求我们找出哪个数字,能够超过了数组的一半呢? 是否就可以想象成,哪个人成为了最终选举的胜利者! 那么,我们接下来要做的事情,就是找到票数最多的那个人的编号就可以了 是不是感觉...
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
题解 | 【清晰图解】#合并两个排序的链表#递归和暴力解法
默认你已经理解题意了哈 题目意思 就是有两个链表,每个链表长度都是n,合并这两个链表成一个新链表,它的结点仍然是递增的,就是这个意思哈 暴力如何解 思路我们可以用暴力来完成。当 l1 和 l2 两个都不是空链表的时候,去判断 l1 和 l2 哪一个链表的头节点的值更加的小,将较小值的节点添加到结...
Java
C++
Python3
C++14
Mysql
二叉树
动态规划
数组
字符串
单调栈
2022-04-28
1
651
题解 |【清晰图解】 #删除有序链表中重复的元素-II#快进来!快进来!!
题意很简单 在一个有序链表中,如果说一个节点的值出现不止一次,那么把所有等于此值的节点全部删掉。 传统手艺,延年益寿😜 别看图拉,看黑板! 因为是有序链表,那如果一个节点的值出现不止一次,那么这两个值肯定是相邻的哦。 三种解法来做 下面用两种方法 :递归,迭代,其中迭代又分为两种方...
C++
Java
Python3
二叉树
前缀和
二叉搜索树
二分查找
动态规划
字符串
双指针
2022-04-26
1
485
题解 |【动图画解】 #二维数组中的查找# 跟二叉搜索很像 进来看哦
默认你已读懂题意了哈 绅士们多看点,延年益寿哦😜 我的解题思路如下 假如你用暴力法遍历矩阵 matrix ,那么它的时间复杂度是 O(N)。但是暴力法没有用矩阵 “从上到下递增、从左到右递增” 的特点,显然这不是我们想要的最优解法啦。 你看下面图,我们把矩阵逆时针旋转 45°,然后把矩阵转化成...
C++
二叉树
二分查找
动态规划
滑动窗口
深度优先搜索
字典树
二叉搜索树
滚动哈希
博弈
2022-04-26
1
405
题解 |【清晰图解】 #数组中的逆序对#"分而治之"妙啊
已默认你已读懂题意了哈 我的解题思路如下 其实我觉得归并排序是跟逆序对是息息相关的,因为归并本质体现的是一种 “分而治之” 的思想 那问题来了? 怎么分: 不断从数组的中点位置划开(即二分法),然后把整个数组的排序问题转化成一个子数组的排序问题; 怎么治: 划分到子数组它的长度为 1 时...
C++
Java
二分查找
数组
二叉树
队列
数据流
概率与统计
归并排序
双向链表
2022-04-26
1
449
题解 |【通俗易懂】 #二叉树的中序遍历#颜色标记这个好
已默认你已经读懂题意 在树的深度优先遍历里面(包括前序、中序、后序这三种遍历),做二叉树的中序遍历其实递归方法是最为直观易懂,但是考虑到效率的问题,我的建议不使用递归。 另外就是栈迭代的方法虽然确实提高了效率,但嵌套循环太多导致非常的烧脑,不易理解,容易造成“一看就懂,一写就废”的尴尬,另外对于其...
Java
C++
Python3
动态规划
字符串
二叉树
链表
双指针
最小生成树
递归
2022-04-26
0
442
题解 |【清晰图解】 #比较版本号#属于签到题(狗头)
默认你已经理解题意 解题思路如下 版本号由修订号组成,中间使用'.'分隔,越靠近字符串前边,修订号的优先级越大,啥意思呢?这个优先级说白了就是那一对数字优先比较的意思。当v1 > v2时返回 1,当v1 < v2时返回 -1,相等时返回 0。 比如说这样 上面这张图可以发现,v1=...
Java
C++
Python3
动态规划
字符串
二叉树
模拟
双向链表
字典树
回溯
2022-04-26
1
501
题解 |【清晰图解】 #序列化二叉树#重要是思路
默认你已理解题意 那就开始吧 思路如下 我们知道平时使用的前序、中序、后序、层序遍历,遍历过程中记录二叉树的信息是不完整的,也就是说唯一的输出序列可能对应着多种二叉树可能性。我们知道 序列化 和 反序列化 是 完全可逆。 所以序列化的字符串能够携带 完整的二叉树信息,我就是说的这个意思 1 看...
C++
Java
Python2
二叉树
动态规划
排序树
数组
二叉搜索树
链表
二分查找
2022-04-26
1
401
首页
上一页
1
2
下一页
末页