
刷题
刷题狂魔
菜菜2022
这个作者很懒,什么都没留下…
展开
-
【回溯-中等】46. 全排列
【代码】【回溯-中等】46. 全排列。原创 2022-09-30 16:40:32 · 166 阅读 · 0 评论 -
【广度优先搜索/深度优先搜索-简单】617. 合并二叉树
当root1和root2都不为空的时候,将两个节点的和相加,声明一个新节点,该节点对应的值是两个节点的相加。所以当root1(root2)为空的时候,返回root2(root1)相应位置的节点。【思路】先序同时遍历二叉树,以。原创 2022-09-24 09:44:20 · 234 阅读 · 0 评论 -
【双指针-中等】19. 删除链表的倒数第 N 个结点
【方法1】在head之前设置提供特殊节点mute用于保存head,mute的next指针指向head节点。原创 2022-09-20 14:44:16 · 174 阅读 · 0 评论 -
【双指针-简单】876. 链表的中间结点
【方法1】双指针——快慢指针。原创 2022-09-20 14:20:11 · 132 阅读 · 0 评论 -
【双指针-中等】167. 两数之和 II - 输入有序数组
设置left,right两个指针,当左右之和小于target的时候,移动左侧指针,当左右之和等于target的时候,返回,当左右之和大于target的时候,将右侧指针向左移动。原创 2022-09-20 09:06:03 · 213 阅读 · 0 评论 -
【双指针-简单】557. 反转字符串中的单词 III
此题python中没办法用双指针,因为python中这题的函数头给的是字符串类型,没办法直接对下标为i的变量改变值,c++等语言可以。原创 2022-09-20 08:55:53 · 898 阅读 · 0 评论 -
【二分查找-简单】744. 寻找比目标字母大的最小字母
直接按序遍历数组找到第一个比target大的字母返回即可,如果遍历完成以边仍不能找到第一个大于target的字母,则返回数组的第一个字符。原创 2022-09-19 11:55:19 · 150 阅读 · 0 评论 -
【二分查找-简单】69. x 的平方根
【代码】【二分查找-简单】69. x 的平方根。原创 2022-09-19 11:24:06 · 161 阅读 · 0 评论 -
【二分查找-简单】1385. 两个数组间的距离值
【方法2】O(n^2)两层循环。原创 2022-09-18 18:14:08 · 113 阅读 · 0 评论 -
【二分查找-中等】367. 有效的完全平方数
【代码】【二分查找-中等】367. 有效的完全平方数。原创 2022-09-18 16:51:42 · 106 阅读 · 0 评论 -
【双指针-中等】189. 轮转数组
【代码】【双指针-中等】189. 轮转数组。原创 2022-09-18 16:44:18 · 124 阅读 · 0 评论 -
【双指针-简单】977. 有序数组的平方
【代码】【双指针-简单】977. 有序数组的平方。原创 2022-09-18 16:07:50 · 148 阅读 · 0 评论 -
【二分查找-中等】852. 山脉数组的峰顶索引
【代码】【二分查找-中等】852. 山脉数组的峰顶索引。原创 2022-09-18 14:31:53 · 154 阅读 · 0 评论 -
【二分查找-入门-简单】374. 猜数字大小
【代码】【二分查找-入门-简单】374. 猜数字大小。原创 2022-09-17 14:49:57 · 124 阅读 · 0 评论 -
【二分查找-入门-简单】704. 二分查找
【代码】【二分查找-入门-简单】704. 二分查找。原创 2022-09-17 14:48:35 · 128 阅读 · 0 评论 -
【深度优先搜索-中等】419. 甲板上的战舰
【方法2】进阶法:不可以修改board数组。【方法1:普通法】修改了board数组。遍历board数组,寻找左上角第一个X。原创 2022-09-15 11:16:03 · 116 阅读 · 0 评论 -
【深度优先搜索-中等】1034. 边界着色
注意:这题是对联通分量的边界进行着色,笔者第一遍做的时候就是忽略了这一点。原创 2022-09-14 16:01:38 · 139 阅读 · 0 评论 -
【深度优先搜索-简单】463. 岛屿的周长
【代码】【深度优先搜索-简单】463. 岛屿的周长。原创 2022-09-14 14:52:48 · 127 阅读 · 0 评论 -
【深度优先搜索-简单】733. 图像渲染、面试题 08.10. 颜色填充
就是将原始颜色渲染成新颜色,如果前后颜色相同就没必要渲染,如果不单独判断前后颜色是否相同,直接对图像进行颜色变换,会导致死循环,如果不想判断,那必须记录已经访问过的节点的信息,不重复访问已经访问的节点。程序直接结束,返回原始的image。就是用栈代替dfs,注意这里如果。【方法1】栈模拟深度优先遍历。原创 2022-09-14 12:08:46 · 163 阅读 · 0 评论 -
【深度优先搜索-简单】1971. 寻找图中是否存在路径
【方法1】广度优先搜索。【方法2】深度优先遍历。原创 2022-09-14 11:38:59 · 314 阅读 · 0 评论 -
【广度优先搜索-中等】面试题 04.01. 节点间通路(Python版本两种解法bfs、dfs)
【方法1】思路:广度优先搜索bfs。【方法2】思路:深度优先搜索dfs。原创 2022-09-13 13:19:30 · 230 阅读 · 0 评论 -
【广度优先搜索-中等】841. 钥匙和房间
所有 rooms[i] 的值 互不相同。【方法1】深度优先搜索。原创 2022-09-12 16:19:29 · 114 阅读 · 0 评论 -
【广度优先搜索-中等】1905. 统计子岛屿
使用DFS遍历 grid2,并检查岛屿的所有格子是否在 grid1 中也是 1。原创 2022-09-12 15:34:57 · 109 阅读 · 0 评论 -
【广度优先搜索-中等】1905. 统计子岛屿
【代码】【广度优先搜索-中等】1905. 统计子岛屿。原创 2022-09-12 15:33:17 · 117 阅读 · 0 评论 -
【广度优先搜索-中等】130. 被围绕的区域
对矩阵的四条边进行遍历,对于边上“O”的点深度优先搜索,将预期相连的所有“O”点全部在原存储空间上标记为“A”点(或者其他除“O”、“X”之外的点)处理完成之后,遍历矩阵的每个元素,对矩阵中所有标记为“A”点的还原成原来的“O”点。将“O”点替换成“X”点即可完成对被围绕区域的替换。【方法2】自创方法 时空复杂度都差很多。原创 2022-09-11 20:03:59 · 131 阅读 · 0 评论 -
【广度优先搜索-中等】1020. 飞地的数量
不要求求0的个数,而求有多少个被包围的区域,所以代码只要小小的改动即可使用在本题中。如果是第一次接触此类题,可以先做。这两题的代码可以通用,就是稍微修改了一点细节。这题,然后再进阶到本题,这样会更好接受。原创 2022-09-11 11:32:51 · 126 阅读 · 0 评论 -
【广度优先搜索-中等】200. 岛屿数量
【代码】【广度优先搜索-中等】200. 岛屿数量。原创 2022-09-10 12:21:06 · 128 阅读 · 0 评论 -
【广度优先遍历-中等】面试题 16.19. 水域大小
【方法1】递归方法求解。【方法2】用栈代替递归。原创 2022-09-10 11:51:57 · 120 阅读 · 0 评论 -
【广度优先遍历-中等】695. 岛屿的最大面积、剑指 Offer II 105. 岛屿的最大面积
这题求最大的岛屿面积,首先需要遍历每个点,判断该点是否被访问过,如果该点是岛屿的一部分且没有被访问过,则遍历该岛屿的面积。是一样的,都需要记录是否访问过某个点。的形式给出的,矩阵的本质和。原创 2022-09-09 12:37:14 · 145 阅读 · 0 评论 -
【广度优先遍历-中等】剑指 Offer II 116. 省份数量、547. 省份数量
这道题的本质就是求非联通子图的个数,函数给的输入是isConnected矩阵,是对称矩阵。由于是无向图,所以需要对节点是否访问给与记录,否则会陷入死循环。原创 2022-09-08 13:49:42 · 115 阅读 · 0 评论 -
【中等】238. 除自身以外数组的乘积
进阶:你可以在 O(1) 的额外空间复杂度内完成这个题目吗?( 出于对空间复杂度分析的目的,输出数组不被视为额外空间。请不要使用除法,且在 O(n) 时间复杂度内完成此题。原创 2022-09-03 18:47:28 · 89 阅读 · 0 评论 -
【中等】11. 盛最多水的容器
对O(n)的算法写一下自己的理解,一开始两个指针一个指向开头一个指向结尾,此时容器的底是最大的,接下来随着指针向内移动,会造成容器的底变小,在这种情况下想要让容器盛水变多,就只有在容器的高上下功夫。我们能够发现不管是左指针向右移动一位,还是右指针向左移动一位,容器的底都是一样的,都比原来减少了 1。这种情况下我们想要让指针移动后的容器面积增大,就要使移动后的容器的高尽量大,所以我们选择指针所指的高较小的那个指针进行移动,这样我们就保留了容器较高的那条边,放弃了较小的那条边,以获得有更高的边的机会。转载 2022-09-03 18:30:23 · 105 阅读 · 0 评论 -
【困难】42. 接雨水-单调栈、动态规划、数学法、双指针
当遇到一个大于栈顶的边,则表明形成低洼可以存储水(因为栈顶前面的一条边是高于栈顶的,单调栈的特点,而当前的边也高于栈顶,所以形成了一个低洼)。按照列进行遍历,每列可以接的雨水数=max(min(该列左侧最高高度,该列右侧最高高度)-当前列的高度,0)使用单调栈记录从左到右,单调递减的边,因为只有递减的边才有可能存储水。利用了木桶效应,木桶可以盛水量是由最短木块决定的。【代码】数学法 图像填充切割。时间复杂度:O(n)空间复杂度:O(n)原创 2022-09-03 18:03:27 · 1075 阅读 · 0 评论 -
【图-简单】1791. 找出星型图的中心节点
由于根据题目描述可知,输入的图是合法的星形图,所以所有边都是与中心点相连的,所有边连接的两个节点,其中肯定有一个节点是中心点。因此仅仅遍历给出的边列表的前两条边,找到两条边相同的节点返回即可。...原创 2022-08-27 17:32:51 · 326 阅读 · 0 评论 -
【深度优先搜索-简单】2331. 计算布尔二叉树的值
代码】【深度优先搜索-简单】2331. 计算布尔二叉树的值。原创 2022-08-17 14:33:24 · 273 阅读 · 0 评论 -
【每日一题】1302. 层数最深叶子节点的和
代码】【每日一题】1302. 层数最深叶子节点的和。原创 2022-08-17 13:06:27 · 126 阅读 · 0 评论 -
【二叉树-中等】1372. 二叉树中的最长交错路径
方法2】先序遍历,顺带两个参数在函数头,用来记录原创 2022-08-16 22:47:18 · 152 阅读 · 0 评论 -
【二叉树-中等】116. 填充每个节点的下一个右侧节点指针
代码】【二叉树-中等】116. 填充每个节点的下一个右侧节点指针。原创 2022-08-15 11:08:51 · 1041 阅读 · 0 评论 -
【二叉树-困难】剑指 Offer II 051. 节点之和最大的路径
代码】【二叉树-困难】剑指 Offer II 051. 节点之和最大的路径。原创 2022-08-15 10:38:22 · 76 阅读 · 0 评论 -
【二叉树-中等】1530. 好叶子节点对的数量
代码】【二叉树-中等】1530. 好叶子节点对的数量。原创 2022-08-14 16:58:31 · 149 阅读 · 0 评论