LeetCode
文章平均质量分 62
leetcode
Bennett_G
发现光 追随光 成为光 发散光
展开
-
数据结构入门1-数组 『存在重复元素 | 最大子序和』
????一分耕耘,一分收获????[= 存在重复元素 =]题目描述解题思路解题方法【= 最大子序和 =】题目描述解题思路解题方法????????????此系列仅为记录本人补充学习数据结构相关知识,有兴趣的,大家可以共同学习????????????[= 存在重复元素 =]题目描述题目传送门解题思路根据描述,如果数组中任意值出现两次,返回 true,否则返回 false思路一:利用map,遍历数组,key 为值,value为其出现次数默认1,最后遍历map判断是否有大于1则有出现重复元素,返回原创 2021-11-02 19:47:14 · 141 阅读 · 0 评论 -
leetcode算法入门系列学习14(位运算)『 颠倒二进制位 | 只出现一次的数字』
不积跬步,无以至千里[= 颠倒二进制位 =]题目描述解题思路解题方法【= 只出现一次的数字 =】题目描述解题思路解题方法今天是学习LeetCode算法《算法入门》的14天,也是最后一天,中间发现了不少问题,后面会补充一下相关方面的知识储备,具体如下:关于数据指针方面数据结构 - 链表动态规划方面(一直都对这个没什么概念????????????)位运算[= 颠倒二进制位 =]题目描述传送门解题思路位运算本人就是个渣渣????????????另辟蹊径1、将给定的int n 转为二进原创 2021-11-02 17:10:40 · 171 阅读 · 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 · 125 阅读 · 0 评论 -
leetcode算法入门系列学习12(动态规划)『 爬楼梯| 打家劫舍| 三角形最小路径和 』
不积跬步,无以至千里【= 爬楼梯 =】题目描述解题思路动态规划 属于知识盲区了 也有可能实际中已经有运用到了,但是没有意识到这个问题待我去补充一下关于动态规划相关的知识点,在回来完成????????????????????????????????????????????????????????????????????????????????【= 爬楼梯 =】题目描述传送门解题思路看了描述第一想法就是去找相应数学规律 没有其他想法 ????????????????????????暂原创 2021-10-21 20:10:14 · 257 阅读 · 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 · 176 阅读 · 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 · 145 阅读 · 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 · 156 阅读 · 0 评论 -
leetcode算法入门系列学习八(广度优先搜索 / 深度优先搜索)『 合并二叉树 | 字符串的排列』
不积跬步,无以至千里【= 合并二叉树 =】题目描述解题思路解题方法【= 填充每个节点的下一个右侧节点指针 =】题目描述解题思路 ????????????【= 合并二叉树 =】题目描述传送门解题思路这个很简单,就是递归不断搜索同位置的不同二叉数的值并相加解题方法PHPfunction mergeTrees($root1, $root2) { if($root1 == null) return $root2; if($root2 == null) return $ro原创 2021-10-18 11:46:44 · 131 阅读 · 0 评论 -
leetcode算法入门系列学习七(广度优先搜索 / 深度优先搜索)『 图像渲染 | 岛屿的最大面积』
不积跬步,无以至千里【= 图像渲染 =】题目描述解题思路解题方法【= 岛屿的最大面积 =】题目描述解题思路解题方法【= 图像渲染 =】题目描述(半天没读懂题目意思????????️????????️????????️,还是看了讨论下才大概明白到底要做什么~~~????????????)传送门解题思路通俗点就是以坐标(sr,sc)为原点,上下左右递归遍历,如果与原点颜色一样,则将其改为新的颜色即可解题方法PHPfunction floodFill($image, $sr, $s原创 2021-10-16 22:45:00 · 159 阅读 · 0 评论 -
leetcode算法入门系列学习六『 滑动窗口 | 字符串的排列』
不积跬步,无以至千里[= 滑动窗口 =]题目描述解题思路解题方法补充学习[= 滑动窗口 =]题目描述传送门解题思路1、计算字符串长度并遍历逐个字符并组装成新的字符串temp2、判断当前字符是否存在于temp3、存在:截取temp中第一个重复字符之前的字符串,剩余字符串重新赋值于temp4、每次循环完成后计算前后两次temp长度max(-temp, +temp)解题方法PHPfunction lengthOfLongestSubstring($s) { // 例s='pwwe原创 2021-10-16 15:28:17 · 325 阅读 · 0 评论 -
leetcode算法入门系列学习五『链表中间节点| 删除链表的倒数第N个节点』
不积跬步,无以至千里【= 链表的中间节点 =】题目描述解题思路解题方法【= 删除链表倒数第N个节点 =】题目描述解题思路解题方法【= 链表的中间节点 =】题目描述传送门解题思路思路一:可以理解为数组的中间元素,长度奇数时中间元素为 len/2 反之中间元素为len/2+1 其次需要注意链表的操作,是不同于数组的思路二:快慢指针 快指针每次移动2,慢指针每次移动1,当快指针指向null时 慢指针也刚好指向中间节点或者下中节点关于链表的相关知识,可以参考:数据结构与算法-链表解题方法P原创 2021-10-14 20:00:00 · 125 阅读 · 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 · 290 阅读 · 0 评论 -
leetcode算法入门系列学习四『 反转字符串 | 反转字符串中单词』
不积跬步,无以至千里【=翻转字符串=】题目描述解题思路解题方法【=反转字符串中的单词=】题目描述解题思路解题方法【=翻转字符串=】题目描述传送门解题思路思路一:【排除】将数组组装成字符串,翻转字符串,最后将字符串在分隔成数组即可。理论上是完全可行。但是!!! 但是!!! 但是!!!leetcode的测试用例中包含了所有你能想到的字符,从而导致无法通过(如PHP对应图)思路二:双指针,分别指向首、尾字符,在交换其位置即可。解题方法PHP// 思路一(错误)function reve原创 2021-10-13 22:20:15 · 148 阅读 · 0 评论 -
leetcode算法入门系列学习三『双指针-移动零 | 两数之和』
不积跬步,无以至千里移动零题目描述解题思路解题方法功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入移动零题目描述传送门解题思路思路一:把数组中所有的0全部挑出来,组成一个新数组,然后和去除0的原数组合并思路二:删除0,原创 2021-10-13 11:54:39 · 181 阅读 · 0 评论