![](https://img-blog.csdnimg.cn/4bdf345deabf4fdbaa6b46a613716571.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
文章平均质量分 56
算法
Bennett_G
发现光 追随光 成为光 发散光
展开
-
数据结构入门14 - 树『验证二叉搜索树 | 二叉搜索树的最近公共祖先 | 两数之和 IV - 输入BST』
????一分耕耘,一分收获????[= 验证二叉搜索树 =]????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 验证二叉搜索树 =]原创 2021-11-21 17:55:08 · 362 阅读 · 0 评论 -
数据结构入门12 - 树『翻转二叉树 | 路径总和』
????一分耕耘,一分收获????????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????原创 2021-11-21 17:28:47 · 316 阅读 · 0 评论 -
数据结构入门11 - 树『二叉树的层序遍历 | 二叉树的最大深度 | 对称二叉树』
????一分耕耘,一分收获????????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????原创 2021-11-21 17:09:21 · 324 阅读 · 0 评论 -
数据结构入门13 - 树『二叉搜索树中的搜索 | 二叉搜索树中的插入操作』
????一分耕耘,一分收获????[= 二叉搜索树中的搜索 =]题目描述解题思路解题方法[= 二叉搜索树中的插入操作 =]题目描述解题思路解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????二叉搜索树BST相关说明1、二叉搜索树是一个有序树2、若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;3、若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;4、它的左、右子树也分别为二叉搜索树[= 二叉搜原创 2021-11-21 17:29:05 · 360 阅读 · 0 评论 -
数据结构入门10 - 树『二叉树的 前序|中序|后序 遍历』
????一分耕耘,一分收获????[= 反转链表 =]题目描述解题思路????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????注意!注意!注意!二叉树数据结构的遍历方式前序遍历:中 -> 左 -> 右中序遍历:左 -> 中 -> 右后序遍历:左-> 右 -> 中[= 反转链表 =]题目描述题目传送门解题思路...原创 2021-11-13 14:20:40 · 525 阅读 · 0 评论 -
数据结构入门9 - 栈/队列『有效的括号| 用栈实现队列』
????一分耕耘,一分收获????[= 反转链表 =]题目描述解题思路????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 反转链表 =]题目描述题目传送门解题思路...原创 2021-11-13 14:04:33 · 227 阅读 · 0 评论 -
数据结构入门8 - 链表『反转链表 | 删除排序链表中的重复元素』
????一分耕耘,一分收获????[= 反转链表 =]题目描述解题思路[= 删除排序链表中的重复元素=]题目描述解题思路解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 反转链表 =]题目描述题目传送门解题思路[= 删除排序链表中的重复元素=]题目描述题目传送门解题思路遍历链表,判断当前指针curr 和 下一个指针 next 的值是否相等,如果相等,删除next 指针,当前指针 curr 后移注意头指针原创 2021-11-13 13:23:46 · 231 阅读 · 0 评论 -
数据结构入门7 - 链表『环形链表 | 合并两个有序链表 |移除链表元素』
????一分耕耘,一分收获????[= 字符串中的第一个唯一字符=]题目描述解题思路????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 字符串中的第一个唯一字符=]题目描述题目传送门解题思路...原创 2021-11-13 13:19:07 · 311 阅读 · 0 评论 -
数据结构入门6 - 字符串『字符串中的第一个唯一字符 | 赎金信 |有效的字母异位词』
????一分耕耘,一分收获????[= 字符串中的第一个唯一字符=]题目描述解题思路解题方法[= 赎金信=]题目描述解题方法[= 有效的字母异位词=]题目描述解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 字符串中的第一个唯一字符=]题目描述题目传送门解题思路1、遍历字符串,记录每个字符串出现的频率2、二次遍历 如果该字符串出现频率为1 返回其索引解题方法func firstUniqChar(s str原创 2021-11-09 20:13:12 · 340 阅读 · 0 评论 -
数据结构入门5 - 数组 『有效的数独 | 矩阵置零』
????一分耕耘,一分收获????[= 有效的数独=]题目描述解题思路解题思路[= 矩阵置零 =]题目描述解题思路????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 有效的数独=]题目描述题目传送门解题思路按照题目要求判断3次1、判断每行数字是否重复2、判断每列数字是否重复3、每个3 * 3的九宫格判断数字是否重复难点在于如何区分3 * 3的九宫格小九宫格坐标 row = (row%3)*3 + col%3 co原创 2021-11-07 17:56:41 · 142 阅读 · 0 评论 -
数据结构入门4-数组 『重塑矩阵 | 杨辉三角』
????一分耕耘,一分收获????[= 重塑矩阵 =]题目描述解题思路解题方法[= 杨辉三角 =]题目描述解题思路解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 重塑矩阵 =]题目描述题目传送门解题思路1、判断是否满足重塑条件 原矩阵元素个数是否与重塑矩阵个数相同2、不满足条件 直接返回原矩阵3、满足条件:先构建初始化重塑矩阵4、遍历原矩阵,并填充重塑矩阵解题方法func matrixReshape原创 2021-11-05 23:17:05 · 146 阅读 · 0 评论 -
数据结构入门3-数组 『两个数组的交集 II | 买卖股票的好时机』
????一分耕耘,一分收获????[= 两个数组的交集 II =]题目描述解题思路????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 两个数组的交集 II =]题目描述题目传送门解题思路...原创 2021-11-04 22:15:14 · 101 阅读 · 0 评论 -
数据结构入门2-数组 『两数之和 | 合并两个有序数组』
????一分耕耘,一分收获????[= 两数之和 =]题目描述解题思路解题方法[= 合并两个有序数组=]题目描述解题思路解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 两数之和 =]题目描述题目传送门解题思路两次遍历:注意每一个元素不能被使用两次,所以我们只需要在 x 后面的元素中寻找 target - x。解题方法func twoSum(nums []int, target int) []int {原创 2021-11-03 19:51:40 · 176 阅读 · 0 评论 -
leetcode算法入门系列学习14(位运算)『 颠倒二进制位 | 只出现一次的数字』
不积跬步,无以至千里[= 颠倒二进制位 =]题目描述解题思路解题方法【= 只出现一次的数字 =】题目描述解题思路解题方法今天是学习LeetCode算法《算法入门》的14天,也是最后一天,中间发现了不少问题,后面会补充一下相关方面的知识储备,具体如下:关于数据指针方面数据结构 - 链表动态规划方面(一直都对这个没什么概念????????????)位运算[= 颠倒二进制位 =]题目描述传送门解题思路位运算本人就是个渣渣????????????另辟蹊径1、将给定的int n 转为二进原创 2021-11-02 17:10:40 · 155 阅读 · 0 评论 -
leetcode算法入门系列学习13(位运算)『 2 的幂 | 位1的个数』
不积跬步,无以至千里【= 2的幂 =】题目描述解题思路解题方法【= 2的幂 =】题目描述传送门解题思路纯纯的数学计算 没啥好说的解题方法PHPfunc isPowerOfTwo(n int) bool { return n >0 && n&(n-1) == 0;}GO...原创 2021-10-22 23:30:00 · 117 阅读 · 0 评论 -
leetcode算法入门系列学习12(动态规划)『 爬楼梯| 打家劫舍| 三角形最小路径和 』
不积跬步,无以至千里【= 爬楼梯 =】题目描述解题思路动态规划 属于知识盲区了 也有可能实际中已经有运用到了,但是没有意识到这个问题待我去补充一下关于动态规划相关的知识点,在回来完成????????????????????????????????????????????????????????????????????????????????【= 爬楼梯 =】题目描述传送门解题思路看了描述第一想法就是去找相应数学规律 没有其他想法 ????????????????????????暂原创 2021-10-21 20:10:14 · 244 阅读 · 0 评论 -
leetcode算法入门系列学习11(递归 / 回溯)『 组合 | 全排列 | 字母大小写全排列 』
不积跬步,无以至千里【= 组合 =】题目描述解题思路解题方法【= 组合 =】题目描述传送门解题思路求得n个数中k个数的组合集合关于题解 可以参考这个???????????? 关于回溯算法 你该了解这些!!!解题方法PHP function combine($n, $k) { $result = []; $this->backtrack($n,$k,1,[], $result); return $result; } function backt原创 2021-10-20 22:20:20 · 155 阅读 · 0 评论 -
leetcode算法入门系列学习10(递归 / 回溯)『 合并两个有序链表 | 反转链表』
不积跬步,无以至千里【= 合并两个有序链表 =】题目描述解题思路解题方法【= 反转链表 =】题目描述解题思路解题方法【= 合并两个有序链表 =】题目描述传送门解题思路递归排序插入解题方法PHPfunction mergeTwoLists($l1, $l2) { if($l1 == null) { return $l2; }else if($l2 == null) { return $l1; } else if($l1->va原创 2021-10-19 22:45:00 · 128 阅读 · 0 评论 -
leetcode算法入门系列学习九(广度优先搜索 / 深度优先搜索)『 矩阵 | 腐烂的橘子』
不积跬步,无以至千里【= 矩阵 =】题目描述解题思路解题方法【= 腐烂的橘子 =】题目描述解题思路【= 矩阵 =】题目描述传送门解题思路多源BFS????????????(看了题解)1、找出所有为0的位置加入队列,不为0的置为-12、遍历队列,判断当前节点的上、下、左、右如果是-1则记为1同时入队列,0则距离为0不用重置3、直至队列为空解题方法PHPfunction updateMatrix($mat) { $queue = []; foreach($mat as原创 2021-10-19 00:45:00 · 146 阅读 · 0 评论 -
leetcode算法入门系列学习八(广度优先搜索 / 深度优先搜索)『 合并二叉树 | 字符串的排列』
不积跬步,无以至千里【= 合并二叉树 =】题目描述解题思路解题方法【= 填充每个节点的下一个右侧节点指针 =】题目描述解题思路 ????????????【= 合并二叉树 =】题目描述传送门解题思路这个很简单,就是递归不断搜索同位置的不同二叉数的值并相加解题方法PHPfunction mergeTrees($root1, $root2) { if($root1 == null) return $root2; if($root2 == null) return $ro原创 2021-10-18 11:46:44 · 116 阅读 · 0 评论 -
leetcode算法入门系列学习七(广度优先搜索 / 深度优先搜索)『 图像渲染 | 岛屿的最大面积』
不积跬步,无以至千里【= 图像渲染 =】题目描述解题思路解题方法【= 岛屿的最大面积 =】题目描述解题思路解题方法【= 图像渲染 =】题目描述(半天没读懂题目意思????????️????????️????????️,还是看了讨论下才大概明白到底要做什么~~~????????????)传送门解题思路通俗点就是以坐标(sr,sc)为原点,上下左右递归遍历,如果与原点颜色一样,则将其改为新的颜色即可解题方法PHPfunction floodFill($image, $sr, $s原创 2021-10-16 22:45:00 · 145 阅读 · 0 评论 -
leetcode算法入门系列学习六『 滑动窗口 | 字符串的排列』
不积跬步,无以至千里[= 滑动窗口 =]题目描述解题思路解题方法补充学习[= 滑动窗口 =]题目描述传送门解题思路1、计算字符串长度并遍历逐个字符并组装成新的字符串temp2、判断当前字符是否存在于temp3、存在:截取temp中第一个重复字符之前的字符串,剩余字符串重新赋值于temp4、每次循环完成后计算前后两次temp长度max(-temp, +temp)解题方法PHPfunction lengthOfLongestSubstring($s) { // 例s='pwwe原创 2021-10-16 15:28:17 · 266 阅读 · 0 评论 -
leetcode算法入门系列学习五『链表中间节点| 删除链表的倒数第N个节点』
不积跬步,无以至千里【= 链表的中间节点 =】题目描述解题思路解题方法【= 删除链表倒数第N个节点 =】题目描述解题思路解题方法【= 链表的中间节点 =】题目描述传送门解题思路思路一:可以理解为数组的中间元素,长度奇数时中间元素为 len/2 反之中间元素为len/2+1 其次需要注意链表的操作,是不同于数组的思路二:快慢指针 快指针每次移动2,慢指针每次移动1,当快指针指向null时 慢指针也刚好指向中间节点或者下中节点关于链表的相关知识,可以参考:数据结构与算法-链表解题方法P原创 2021-10-14 20:00:00 · 114 阅读 · 0 评论 -
leetcode算法入门系列学习四『 反转字符串 | 反转字符串中单词』
不积跬步,无以至千里【=翻转字符串=】题目描述解题思路解题方法【=反转字符串中的单词=】题目描述解题思路解题方法【=翻转字符串=】题目描述传送门解题思路思路一:【排除】将数组组装成字符串,翻转字符串,最后将字符串在分隔成数组即可。理论上是完全可行。但是!!! 但是!!! 但是!!!leetcode的测试用例中包含了所有你能想到的字符,从而导致无法通过(如PHP对应图)思路二:双指针,分别指向首、尾字符,在交换其位置即可。解题方法PHP// 思路一(错误)function reve原创 2021-10-13 22:20:15 · 139 阅读 · 0 评论 -
leetcode算法入门系列学习三『双指针-移动零 | 两数之和』
不积跬步,无以至千里移动零题目描述解题思路解题方法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入移动零题目描述传送门解题思路思路一:把数组中所有的0全部挑出来,组成一个新数组,然后和去除0的原数组合并思路二:删除0,原创 2021-10-13 11:54:39 · 165 阅读 · 0 评论 -
leetcode算法入门系列学习二『双指针』
这里写自定义目录标题有序数组的平方题目描述:[传送门](%28https://leetcode-cn.com/problems/squares-of-a-sorted-array/%29)解题思路:解题方法补充说明,以上方法虽然也能实现,但是效率很明显就差很多,也没有用到题目指定的双指针。旋转数组题目描述 [传送门](https://leetcode-cn.com/problems/rotate-array/)解题思路解题方法有序数组的平方题目描述:传送门解题思路:因为是排序的整数数组,可以循环每个原创 2021-10-12 10:21:21 · 281 阅读 · 0 评论