力扣
刷题
九思s
Onepiece是真实存在的!
展开
-
LeetCode哈希表 49. 字母异位词分组
给你一个字符串数组,请你将组合在一起。可以按任意顺序返回结果列表。是由重新排列源单词的所有字母得到的一个新单词。原创 2024-10-07 22:27:03 · 169 阅读 · 1 评论 -
LeetCode哈希表 242. 有效的字母异位词
编写一个函数来判断。原创 2024-10-07 17:58:14 · 188 阅读 · 0 评论 -
LeetCode区间 56. 合并区间
以数组intervals表示若干个区间的集合,其中单个区间为。请你合并所有重叠的区间,并返回一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].[[1,5]]区间 [1,4] 和 [4,5] 可被视为重叠区间。原创 2024-10-07 16:35:30 · 206 阅读 · 0 评论 -
LeetCode区间 228. 汇总区间
给定一个的整数数组nums。返回的区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。列表中的每个区间范围[a,b]"a->b"a!原创 2024-10-07 15:45:50 · 266 阅读 · 0 评论 -
LeetCode图的广度优先搜索 909. 蛇梯棋
给你一个大小为n x n的整数矩阵board,方格按从1到n2编号,编号遵循(即,从开始)的每一行改变方向。你一开始位于棋盘上的方格1。每一回合,玩家需要从当前方格currnextnextnextn2如果,位于r行c列的棋盘格中可能存在 “蛇” 或 “梯子”。那个蛇或梯子的目的地将会是。编号为1和n2的方格不是任何蛇或梯子的起点。注意,玩家在每回合的前进过程中最多只能爬过蛇或梯子一次:就算目的地是另一条蛇或梯子的起点,玩家也继续移动。2334返回达到编号为n2。原创 2024-10-07 14:06:12 · 567 阅读 · 0 评论 -
LeetCode二叉搜索树 230. 二叉搜索树中第 K 小的元素
给定一个二叉搜索树的根节点root,和一个整数k,请你设计一个算法查找其中第k小的元素(从 1 开始计数)。1。原创 2024-09-07 16:57:27 · 229 阅读 · 0 评论 -
LeetCode二叉搜索树 530. 二叉搜索树的最小绝对差
给定一个非空二叉树的根节点root, 以数组的形式返回每一层节点的平均值。与实际答案相差10-5以内的答案可以被接受。第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11。因此返回 [3, 14.5, 11]。原创 2024-09-07 16:33:15 · 269 阅读 · 1 评论 -
LeetCode二叉树 637. 二叉树的层平均值
第 0 层的平均值为 3,第 1 层的平均值为 14.5,第 2 层的平均值为 11。, 以数组的形式返回每一层节点的平均值。因此返回 [3, 14.5, 11]。给定一个非空二叉树的根节点。以内的答案可以被接受。原创 2024-09-07 16:15:03 · 249 阅读 · 0 评论 -
LeetCode二叉树层次遍历 199. 二叉树的右视图
给定一个二叉树的root,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。原创 2024-09-07 11:55:59 · 278 阅读 · 0 评论 -
LeetCode矩阵 54 . 螺旋矩阵
给你一个m行n列的矩阵matrix,请按照,返回矩阵中的所有元素。原创 2024-09-06 23:01:43 · 243 阅读 · 0 评论 -
LeetCode矩阵 36.有效的数独
请你判断一个9 x 9的数独是否有效。只需要,验证已经填入的数字是否有效即可。1-91-91-93x3'.'board =trueboard =false除了第一行的第一个数字从改为以外,空格内其他数字均与 示例1 相同。但由于位于左上角的 3x3 宫内有两个 8 存在, 因此这个数独是无效的。原创 2024-09-06 22:19:39 · 369 阅读 · 0 评论 -
LeetCode双指针 3. 无重复字符的最长子串
给定一个字符串s,请你找出其中不含有重复字符的的长度。3因为无重复字符的最长子串是"abc",所以其长度为 3。1因为无重复字符的最长子串是"b",所以其长度为 1。3因为无重复字符的最长子串是"wke",所以其长度为 3。请注意,你的答案必须是的长度,"pwke"是一个子序列,不是子串。原创 2024-09-04 20:41:39 · 219 阅读 · 0 评论 -
LeetCode滑动窗口 209. 长度最小的子数组
给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2子数组[4,3]是该条件下的长度最小的子数组。10。原创 2024-09-03 21:35:14 · 229 阅读 · 0 评论 -
LeetCode双指针 392. 判断子序列
给定字符串和,判断是否为的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。如果有大量输入的 S,称作 S1, S2, ... , Sk 其中 k >= 10亿,你需要依次检查它们是否为 T 的子序列。在这种情况下,你会怎样改变代码?truefalse。原创 2024-09-03 20:26:50 · 250 阅读 · 0 评论 -
LeetCode双指针 125. 验证回文串
如果在将所有大写字符转换为小写字符、并移除所有非字母数字字符之后,短语正着读和反着读都一样。则可以认为该短语是一个。字母和数字都属于字母数字字符。给你一个字符串s,如果它是,返回true;否则,返回false。true"amanaplanacanalpanama" 是回文串。false"raceacar" 不是回文串。s = " "true在移除非字母数字字符之后,s 是一个空字符串 ""。由于空字符串正着反着读都一样,所以是回文串。原创 2024-09-03 17:50:07 · 345 阅读 · 0 评论 -
LeetCode多维动态规划 64. 最小路径和
给定一个包含非负整数的 网格 ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例 1:输入:grid = [[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径 1→3→1→1→1 的总和最小。示例 2:输入:grid = [[1,2,3],[4,5,6]]输出:12刚开始dp出错又用bfs当成岛屿问题做方法选择错误原创 2024-08-22 21:15:27 · 317 阅读 · 0 评论 -
LeetCode多维动态规划 120. 三角形最小路径和
给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。在这里指的是与相同或者等于的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i + 1。11如下面简图所示:46748 3自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。-10。原创 2024-08-22 20:26:32 · 159 阅读 · 0 评论 -
LeetCode数组/字符串 80. 删除有序数组中的重复项 II
给你一个有序数组nums,请你删除重复出现的元素,使得出现次数超过两次的元素,返回删除后数组的新长度。不要使用额外的数组空间,你必须在并在使用 O(1) 额外空间的条件下完成。为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下://是以“引用”方式传递的。也就是说,不对实参做任何拷贝// 在函数里修改输入数组对于调用者是可见的。// 根据你的函数返回的长度, 它会打印出数组中的所有元素。原创 2024-08-14 17:15:24 · 273 阅读 · 0 评论 -
LeetCode图 130. 被围绕的区域
给你一个m x n的矩阵board,由若干字符'X'和'O'组成,所有'O''X'board'X'通过将输入矩阵board中的所有'O'替换为'X'来。在上图中,底部的区域没有被捕获,因为它在 board 的边缘并且不能被围绕。原创 2024-08-01 23:56:18 · 156 阅读 · 0 评论 -
LeetCode数组/字符串 买卖股票的最佳时机 II
给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候只能持有股票。你也可以先购买,然后在出售。返回你能获得的利润。7在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。原创 2024-08-03 10:32:38 · 500 阅读 · 0 评论 -
LeetCode数组/字符串 27. 移除元素
/ 它以不等于 val 的值排序。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。// 长度正确的预期答案。// 排序 nums 的前 k 个元素。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你在返回的 k 个元素之外留下了什么并不重要(因此它们并不计入评测)。你的函数函数应该返回 k = 2, 并且 nums。元素的顺序可能发生改变。如果所有的断言都通过,你的解决方案将会。中的前两个元素均为 2。原创 2024-08-02 10:12:21 · 244 阅读 · 0 评论 -
LeetCode哈希表 383. 赎金信
【代码】LeetCode哈希表 383. 赎金信。原创 2024-07-30 15:12:38 · 150 阅读 · 0 评论 -
LeetCode链表 2. 两数相加
你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。它们每位数字都是按照。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。简洁版(运用了一些?原创 2024-08-05 10:17:17 · 231 阅读 · 0 评论 -
LeetCode数组/字符串 买卖股票的最佳时机
给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。5在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。0。原创 2024-08-03 10:25:10 · 228 阅读 · 0 评论 -
LeetCode链表 21.合并两个有序链表
新链表是通过拼接给定的两个链表的所有节点组成的。将两个升序链表合并为一个新的。主要是注意语法的使用。原创 2024-08-05 11:20:40 · 214 阅读 · 0 评论 -
LeetCode链表 138.随机链表的复制
指针也都应指向复制链表中的新节点,并使原链表和复制链表中的这些指针能够表示相同的链表状态。节点组成,其中每个新节点的值都设为其对应的原节点的值。个节点组成的链表来表示输入/输出中的链表。的链表,每个节点包含一个额外增加的随机指针。,该指针可以指向链表中的任何节点或空节点。那么在复制链表中对应的两个节点。例如,如果原链表中有。返回复制链表的头节点。原创 2024-08-05 17:07:51 · 333 阅读 · 0 评论 -
LeetCode链表 141. 环形链表
/ 定义单链表的节点结构int val;//val是结构体中一个变量成员 next(nullptr)代表自动定义了下一个指针指向空// explicit 防止隐形调用// 使用后正确的传值方法为MyClass obj(10);// 而不被 MyClass obj = 10;影响public:// 检测链表中是否有环// 慢指针,每次移动一步// 快指针,每次移动两步// 慢指针向前移动一步if (fast!// 快指针向前移动两步if (fast!// 快指针再次向前移动两步。原创 2024-08-04 23:56:20 · 253 阅读 · 0 评论 -
LeetCode回溯 17. 电话号码的字母组合
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。原创 2024-08-02 15:42:20 · 115 阅读 · 0 评论 -
LeetCode数组/字符串 88. 合并两个有序数组
给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。需要合并 [1,2,3] 和 [2,5,6]。合并结果是 [,2,,5,6] ,其中斜体加粗标注的为 nums1 中的元素。[1]原创 2024-08-02 09:22:38 · 276 阅读 · 0 评论 -
LeetCode图 200. 岛屿数量
岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。(水)组成的的二维网格,请你计算网格中岛屿的数量。此外,你可以假设该网格的四条边均被水包围。原创 2024-07-30 22:55:46 · 140 阅读 · 0 评论 -
LeetCode哈希表 205. 同构字符串
每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。中的字符可以按某种映射关系替换得到。,那么这两个字符串是同构的。,判断它们是否是同构的。原创 2024-07-30 16:43:38 · 115 阅读 · 0 评论 -
LeetCode二叉树 117. 填充每个几点的下一个右侧节点指针II
给定二叉树如图 A 所示,你的函数应该填充它的每个 next 指针,以指向其下一个右侧节点,如图 B 所示。序列化输出按层序遍历顺序(由 next 指针连接),'#' 表示每层的末尾。填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为。//将原来的右子树接到左子树的最右边节点。//将原来的右子树接到左子树的最右边节点。//将 2 的左子树插入到右子树的地方。//将 1 的左子树插入到右子树的地方。这题思路值得反复思考。原创 2024-07-30 20:49:03 · 365 阅读 · 0 评论 -
LeetCode二叉树 105. 从前序与中序遍历序列构造二叉树
请构造二叉树并返回其根节点。原创 2024-07-25 21:01:08 · 209 阅读 · 0 评论 -
LeetCode二叉树 226. 翻转二叉树
给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。原创 2024-07-25 15:35:50 · 190 阅读 · 0 评论 -
LeetCode二叉树 106. 从中序与后序遍历序列构造二叉树
是同一棵树的后序遍历,请你构造并返回这颗。是二叉树的中序遍历,原创 2024-07-27 21:16:50 · 252 阅读 · 0 评论 -
LeetCode二叉树 100. 相同的树
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。,编写一个函数来检验这两棵树是否相同。给你两棵二叉树的根节点。原创 2024-07-24 21:03:30 · 224 阅读 · 0 评论 -
LeetCode二叉树 101. 对称二叉树
给你一个二叉树的根节点。, 检查它是否轴对称。原创 2024-07-25 16:47:04 · 146 阅读 · 0 评论 -
LeetCode二叉树 104. 二叉树的最大深度
总结了一部分二叉树的使用方法原创 2024-07-23 21:55:31 · 213 阅读 · 0 评论