数据结构与算法
文章平均质量分 85
记录学习数据结构与算法的专栏
神马都会亿点点的毛毛张
Stay hungry Stay foolish
VX:zzxkingdom0411
展开
-
比较含退格的字符串 | LeetCode-844 | 双指针
比较含退格的字符串原创 2024-10-23 22:46:50 · 320 阅读 · 0 评论 -
有效的括号 | LeetCode-20 | 栈与队列 | 两种方法
今天毛毛张分享的是一道栈与队列练习题,并介绍了两种方法。原创 2024-10-20 18:32:30 · 955 阅读 · 0 评论 -
打家劫舍系列 | Leetcode 198 | 213 | 337 | 动态规划 | 滚动数组
毛毛张今天分享的是动态规划中打家劫舍系列的题目!原创 2024-10-13 11:45:39 · 985 阅读 · 0 评论 -
删除链表的倒数第 N 个结点 | LeetCode-19 | 双指针 | 递归 | 栈 | 四种方法
张这道题还可以用递归法,你想到了吗?毛毛张介绍四种方法原创 2024-10-12 21:42:26 · 571 阅读 · 0 评论 -
反转链表 | LeetCode-206 | 递归 | 递归法 | 迭代法
毛毛张今天分享的是一道用递归来做链表的练习题,掌握递归,可以做更多链表的题目!more。原创 2024-10-12 21:32:45 · 389 阅读 · 0 评论 -
赎金信 | LeetCode-383 | 在字符串中,如果能使用哈希集合,那么大概率也能使用哈希数组
🕹️在字符串中,如果能使用哈希集合,那么大概率也能使用哈希数组。原创 2024-08-15 17:48:34 · 1007 阅读 · 0 评论 -
重复的子字符串 | LeetCode-459 | 字符串匹配 | KMP | 双指针
🕹️KMP练习题。原创 2024-08-15 17:38:59 · 1138 阅读 · 0 评论 -
右旋字符串 | KamaCoder-55 | 字符串反转 | Java详细注释
这题主要考察的逻辑思维。原创 2024-08-14 22:08:06 · 622 阅读 · 0 评论 -
旋转字符串 | LeetCode-796 | 模拟 | KMP | 字符串匹配
🕹️KMP算法练习题。原创 2024-08-14 22:00:56 · 985 阅读 · 0 评论 -
找出字符串中第一个匹配项的下标 | LeetCode-28 | KMP算法 | next数组 | Java详细注释
🕹️KMP算法练习题。原创 2024-08-14 21:58:05 · 902 阅读 · 0 评论 -
四数相加2 | LeetCode-454 | 哈希集合 | Java详细注释
🕹️思路:四数相加 => 两数相加。原创 2024-08-12 21:59:39 · 953 阅读 · 0 评论 -
长度最小的子数组 | LeetCode-209 | 双指针+滑动窗口 | 前缀和+二分查找 | Java详细注释
思路:滑动窗口入门题 前缀和入门题。原创 2024-08-12 21:57:33 · 992 阅读 · 0 评论 -
反转字符串2 | LeetCode-541 | 双指针 | 分类讨论
这个题目除了分类讨论就没什么了原创 2024-08-11 20:44:49 · 367 阅读 · 0 评论 -
有效的字母异位词 | LeetCode-242 | 哈希集合 | 哈希数组
🍭在字符串中,如果能使用哈希集合🥗,那么大概率也能使用哈希数组🍬more。原创 2024-08-11 20:40:50 · 264 阅读 · 0 评论 -
全网超全的二分查找细节总结 | 二分查找 | LeetCode-704 | LeetCode-34 | 在排序数组中查找元素的第一个和最后一个位置
详细的二分查找细节原创 2024-08-11 20:32:09 · 1118 阅读 · 0 评论 -
有点难的二分查找LeetCode题 | 区间内查询数字的频率 | LeetCode-2080 | 二分查找
二分查找你学废了吗?快来看看这道题如何使用二分查找解决吧!原创 2024-08-11 20:16:01 · 340 阅读 · 0 评论 -
反转字符串中的单词 | LeetCode-151 | 双指针 | 6中写法 | Java详细注释
📌叮!您有一封LeetCode今日练习题待查收📩。原创 2024-08-11 10:39:55 · 959 阅读 · 0 评论 -
环形链表 | LeetCode-141 | LeetCode-142 | Floyd判圈算法 | 双指针 | 哈希集合
Floyd判圈算法练习题。原创 2024-08-11 10:22:36 · 667 阅读 · 0 评论 -
快乐数 | LeetCode-203 | 一个简单的数学题!| Floyd判圈算法练习题 | 哈希集合 | 数学
如果不知道Floyd判圈算法这道题做起来一点也不快乐!原创 2024-08-10 21:58:49 · 455 阅读 · 0 评论 -
螺旋矩阵 | LeetCode-59 | LeetCode-54 | 分类讨论
🎃分类不好,这道题就做不出来!🎈。原创 2024-08-10 21:51:00 · 347 阅读 · 0 评论 -
两数之和-LeetCode梦开始的地方 | LeetCode-1 | 四种方法
LeetCode梦开始的地方-两数之和原创 2024-08-10 21:42:40 · 709 阅读 · 0 评论 -
两数之和2-输入有序数组 | LeetCode-167 | 二分法 | 双指针
二分查找你学废了吗?快来看看这道题如何使用二分查找解决吧!原创 2024-08-10 21:39:30 · 1037 阅读 · 0 评论 -
三数之和与四数之和 | LeetCode-15 | LeetCode-18 | 双指针 | 降维 | 哈希集合 | Java | 详细注释
🍏去重和🍓降维是这两道题的关键!原创 2024-08-10 21:33:13 · 808 阅读 · 0 评论 -
图解Floyd判圈算法 | 判断链表或者迭代函数是否有环 | Java代码
🍑Floyd判圈算法(),又称龟兔赛跑算法(),是一个可以在有限状态机、迭代函数或者链表上判断是否存在环,以及判断环的起点与长度的算法🍏🍒有限时间内快慢指针必然相遇且在相遇点在环上1️⃣相遇点和起点的等速指针将在换的入口出相遇2️⃣🍓判断迭代函数或者链表上面是否有环1️⃣如果有环可以找到环的起点2️⃣如果有换可以计算环的长度3️⃣🫐这个算法只需要大家了解其原理就行,毛毛张在这里不做严密的逻辑推导,而是通过推介举例的方式来帮助大家理解这个算法。原创 2024-08-10 21:23:20 · 1033 阅读 · 0 评论 -
LeetCode | 76 | 最小覆盖子串 | 双指针 | 滑动窗口 | 哈希集合 | 字符串 | 困难?!| Java | 详细注释
这道题在LeetCode上的难度标签为:困难!你能看出来这是一道用双指针就可以解决的题目吗?more。原创 2024-08-04 18:18:12 · 1007 阅读 · 0 评论 -
LeetCode刷题笔记 | 283 | 移动零 | 双指针 |Java | 详细注释
原地移除元素2原创 2024-08-04 18:13:26 · 742 阅读 · 0 评论 -
LeetCode刷题笔记 | 3 | 无重复字符的最长子串 | 双指针 | 滑动窗口 | 2025兴业银行秋招笔试题 | 哈希集合
这是一道银行的面试题,就是简单?!原创 2024-08-04 18:08:35 · 1203 阅读 · 0 评论 -
LeetCode刷题笔记 | 643 | 子数组最大平均数 | 双指针 | 滑动窗口 | 数组 | Java | 详细注释 | 三种解法
张双指针在一定条件下可以转化成滑动窗口,这道题就是个很好的例子原创 2024-08-04 18:03:31 · 702 阅读 · 0 评论 -
LeetCode刷题笔记 | 27 | 移除元素 | 双指针 | 数组 | Java | 详细注释
今天毛毛张分享的是一道LeetCode练习题:原地移除元素1原创 2024-08-04 17:56:55 · 274 阅读 · 0 评论 -
LeetCode | 441 | 排列硬币 | 二分查找
今天分享的是LeetCode中一道标签为简单的算法题,本质是一道数学题。原创 2024-08-01 17:58:43 · 401 阅读 · 0 评论 -
LeetCode | 34 | 在排序数组中查找元素的第一个和最后一个位置 | 全网最全的解法!| 二分查找优化 | Java | 每日练习
今天分享的是LeetCode上一道考察二分法的中等难度的题目,需要对二分法的写法和返回值有比较清晰的了解!原创 2024-08-01 17:50:30 · 814 阅读 · 0 评论 -
LeetCode每日练习 | 二分查找 | 数组 |Java | 图解算法
📌毛毛张在刷算法题的时候有两个感悟1️⃣有很多算法题的难点在于对于特殊情况的判断,很多时候我们实现的算法能通过大部分的测试案例,但是对于一些特殊案例不能通过,这可能是因为逻辑本来就错误,那么我们的算法需要重新设计考虑,另一种原因是因为算法对于一些边界问题没有考虑进去,那么我们需要对于算法的一些特殊情况的判断要考虑进去2️⃣很多算法题刷到后面就是数学题,如果能有比较好的数学基础,对于求解一些算法题是有帮助的。原创 2024-07-26 17:11:26 · 326 阅读 · 0 评论 -
二叉树的构造问题 | LeetCode刷题笔记 | 每日练习 | 深度优先遍历| 广度优先遍历 | Java
毛毛张在前面已经分享过三期关于树的LeetCode算法题了:二叉树的题目的解法大多数可以从两个角度来解决:下面的四道题目不是很难,毛毛张主要讲解算法思路,前面连体可以参看毛毛张在关于二叉树的知识介绍中有跟详细的讲解给定两个整数数组 和 ,其中 是二叉树的中序遍历, 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。示例 1:示例 2:提示:1.2.1.2 方法2(推荐)1.2.1.3 方法31.2.1.4 总结方法1和方法2的本质是一样的,区别在于写递归函数的时候是否再用题目默原创 2024-07-21 23:10:14 · 1227 阅读 · 0 评论 -
万字长文详解数据结构:树 | 第6章 | Java版大话数据结构 | 二叉树 | 哈夫曼树 | 二叉树遍历 | 构造二叉树 | LeetCode练习 | Java
线性结构是1️⃣对1️⃣的关系,如果处理1️⃣对多的情况,则需要使用树形结构🌲树形结构包括:二叉树、AVLAVLAVL树、B树、红黑树等,而二叉树是学其它树的基础,学好了二叉树才能在后续更难的树时得心应手🫱在介绍二叉树之前同时还需要整体的介绍一下树这个数据结构**定义:**🌳树是nn≥0n(n≥0)nn≥0个结点的有限集。当n0n = 0n0时,称为空树。在任意一棵非空树中应满足:有且仅有一个特定的称为根(Root)的结点;当n1n>1n1。原创 2024-06-29 16:20:48 · 852 阅读 · 0 评论 -
Leetcode刷题笔记 | 二叉树基本性质 | 一天的题量 | 5道题目 | 深度优先搜索 | 广度优先搜索 | 递归 | 遍历 | Java
🙋大家好!我是毛毛张!🌈个人首页:神马都会亿点点的毛毛张📌本期毛毛张分享的是LeetCode关于二叉树🌲的性质的一些基础题,做这些题目的本质还是遍历二叉树🏃➡️的过程,如果还不熟悉二叉树的遍历方法的同学可以先看看毛毛张的这篇文章➡️。原创 2024-06-28 11:30:47 · 1196 阅读 · 0 评论 -
哈希表 | 哈希查找 | 哈希函数 | 数据结构 | 大话数据结构 | Java
是在记录的存储位置和它的关键字之间建立一个确定的对应关系fff,使得每个关键字key对应一个存储位置fkeyf(key)fkey。查找时,根据这个确定的对应关系找到给定值key的映射fkeyf(key)fkey,若查找集合中存在这个记录,则必定在fkeyf(key)fkey的位置上。我们把这种对应关系fff称为散列函数,又称哈希(Hash)函数存储位置f关键字存储位置 = f(关键字)存储位置f关键字。原创 2024-06-27 19:30:27 · 1333 阅读 · 0 评论 -
LeetCode刷题笔记:二叉树前序遍历、中序遍历、后序遍历和层序遍历 | 递归法 | 迭代法 | 统一迭代法 | 深度优先搜索 | 广度优先搜索
Problem:144. 二叉树的前序遍历Problem:94.二叉树的中序遍历Problem:145.二叉树的后序遍历Problem:102. 二叉树的层序遍历Problem:107. 二叉树的层序遍历 II二叉树的遍历方式有多种,毛毛张今天在这里结合代码随想录的教程来分享一下二叉树的多种遍历方式及代码实现深度优先遍历和广度优先遍历。原创 2024-05-18 18:50:00 · 885 阅读 · 0 评论 -
LeetCode刷题笔记之两数相加【数组】【中等】
如果两个链表没有相加完或者最高两位相加有进位的时候,才需要创建结果链表的下一个节点。属性的时候,由于两个链表的长度不同,当一个链表的已经相加到最高位,结束本轮循环时。和上面的原因类似,在做算法题是应该考虑边界问题,这个地方很容易出错。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的时候该节点为空,并没有实例化,因此不能访问。的方式存储的,并且每个节点只能存储。原创 2024-03-10 15:01:17 · 374 阅读 · 0 评论