- 博客(173)
- 收藏
- 关注
原创 【hot100】刷题记录(54)-N皇后
按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。研究的是如何将n个皇后放置在n×n的棋盘上,并且使皇后彼此之间不能相互攻击。给你一个整数n,返回所有不同的的解决方案。每一种解法包含一个不同的的棋子放置方案,该方案中'Q'和'.'分别代表了皇后和空位。n = 4如上图所示,4 皇后问题存在两个不同的解法。
2025-03-28 11:46:22
507
原创 【hot100】刷题记录(53)-二叉树中的最大路径和
二叉树中的被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中。该路径节点,且不一定经过根节点。是路径中各节点值的总和。给你一个二叉树的根节点root,返回其。6最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 642最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。
2025-03-28 10:25:08
336
原创 【hot100】刷题记录(52)-合并K个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。链表数组如下:1->4->5,1->3->4,2->6将它们合并到一个有序链表中得到。
2025-03-26 12:04:15
292
原创 【hot100】刷题记录(51)-K个一组翻转链表
给你链表的头节点head,每k个节点一组进行翻转,请你返回修改后的链表。k是一个正整数,它的值小于或等于链表的长度。如果节点总数不是k的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。
2025-03-26 11:32:15
311
原创 【hot100】刷题记录(50)-缺失的第一个正数
给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。3范围 [1,2] 中的数字都在数组中。21 在数组中,但 2 没有。1最小的正数 1 没有出现。
2025-03-25 11:05:21
247
原创 【hot100】刷题记录(49)-最小覆盖子串
给你一个字符串s、一个字符串t。返回s中涵盖t所有字符的最小子串。如果s中不存在涵盖t所有字符的子串,则返回空字符串""。tts"BANC"最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。"a"整个字符串 s 是最小覆盖子串。""t 中两个字符 'a' 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。t。
2025-03-25 10:46:31
170
原创 【hot100】刷题记录(48)-接雨水
给定n个非负整数表示每个宽度为1的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。6上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。9。
2025-03-24 10:14:13
338
原创 【hot100】刷题记录(47)-寻找重复数
给定一个包含n + 1个整数的数组nums,其数字都在[1, n]范围内(包括1和n),可知至少存在一个重复的整数。假设nums只有,返回。你设计的解决方案必须数组nums且只用常量级O(1)的额外空间。233。
2025-03-21 10:53:37
591
原创 【hot100】刷题记录(46)-下一个排列
整数数组的一个就是将其所有成员以序列或线性顺序排列。arr[1,2,3][1,3,2][3,1,2][2,3,1]整数数组的是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。[1,3,2][3,1,2][1,2,3][3,2,1]给你一个整数数组nums,找出nums的下一个排列。必须。
2025-03-21 10:47:37
484
原创 【hot100】刷题记录(45)-颜色分类
给定一个包含红色、白色和蓝色、共n个元素的数组nums对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。我们使用整数01和2分别表示红色、白色和蓝色。必须在不使用库内置的 sort 函数的情况下解决这个问题。[0,1,2]012。
2025-03-19 10:48:25
365
原创 【hot100】刷题记录(44)-多数元素
给定一个大小为n的数组nums,返回其中的多数元素。多数元素是指在数组中出现次数⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。32。
2025-03-19 10:29:30
292
原创 【hot100】刷题记录(43)-只出现一次的数字
给你一个整数数组nums,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。你必须设计并实现线性时间复杂度的算法来解决此问题,且该算法只使用常量额外空间。
2025-03-18 11:25:11
229
原创 【hot100】刷题记录(42)-编辑距离
给你两个单词word1和word2请返回将word1转换成word2所使用的最少操作数。3horse -> rorse (将 'h' 替换为 'r')rorse -> rose (删除 'r')rose -> ros (删除 'e')5intention -> inention (删除 't')inention -> enention (将 'i' 替换为 'e')enention -> exention (将 'n' 替换为 'x')
2025-03-18 11:07:20
443
原创 【hot100】刷题记录(41)-最长公共子序列
给定两个字符串text1和text2,返回这两个字符串的最长的长度。如果不存在,返回0。一个字符串的是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。"ace""abcde""aec""abcde"两个字符串的是这两个字符串所共同拥有的子序列。3最长公共子序列是 "ace" ,它的长度为 3。3最长公共子序列是 "abc" ,它的长度为 3。0两个字符串没有公共子序列,返回 0。text2。
2025-03-14 11:59:41
286
原创 【hot100】刷题记录(39)-最小路径和
给定一个包含非负整数的m x n网格grid,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。每次只能向下或者向右移动一步。7因为路径 1→3→1→1→1 的总和最小。12。
2025-03-12 11:14:59
133
原创 【hot100】刷题记录(38)-分割等和子集
给你一个的数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。true数组可以分割成 [1, 5, 5] 和 [11]。false数组不能分割成两个元素和相等的子集。
2025-03-10 12:09:52
353
原创 【hot100】刷题记录(37)-乘积最大子数组
给你一个整数数组nums,请你找出数组中乘积最大的非空连续 子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。测试用例的答案是一个整数。6子数组 [2,3] 有最大乘积 6。0结果不能为 2, 因为 [-2,-1] 不是子数组。
2025-03-10 11:21:06
272
原创 【hot100】刷题记录(36)-杨辉三角
给定一个非负整数 numRows生成「杨辉三角」的前 numRows行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。[[1]]
2025-03-07 10:24:32
301
原创 【hot100】刷题记录(35)-数组中的第K个最大元素
给定整数数组nums和整数k,请返回数组中第k个最大的元素。请注意,你需要找的是数组排序后的第k个最大的元素,而不是第k个不同的元素。你必须设计并实现时间复杂度为O(n)的算法解决此问题。
2025-03-03 11:35:56
160
原创 【hot100】刷题记录(34)-字符串解码
给定一个经过编码的字符串,返回它解码后的字符串。编码规则为:,表示其中方括号内部的正好重复k次。注意k保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。
2025-02-28 11:25:47
435
原创 【hot100】刷题记录(33)-最小栈
设计一个支持pushpoptop操作,并能在常数时间内检索到最小元素的栈。实现MinStackMinStack()void pop()int top()--> 返回 -3.--> 返回 0.--> 返回 -2.topgetMinpushpoptopgetMin3 * 104。
2025-02-28 11:18:14
310
原创 【hot100】刷题记录(32)-寻找旋转排序数组中的最小值
已知一个长度为n的数组,预先按照升序排列,经由1到n次后,得到输入数组。例如,原数组47注意,数组的结果为数组。给你一个元素值的数组nums,它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的。你必须设计一个时间复杂度为O(log n)的算法解决此问题。1原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。0原数组为 [0,1,2,4,5,6,7] ,旋转 4 次得到输入数组。11原数组为 [11,13,15,17] ,旋转 4 次得到输入数组。
2025-02-27 11:11:38
463
原创 【hot100】刷题记录(31)-搜索旋转排序数组
整数数组nums按升序排列,数组中的值。在传递给函数之前,nums在预先未知的某个下标k)上进行了,使数组变为(下标计数)。例如,在下标3处经旋转后可能变为。给你的数组nums和一个整数target,如果nums中存在这个目标值target,则返回它的下标,否则返回-1。你必须设计一个时间复杂度为O(log n)的算法解决此问题。4-1-1nums。
2025-02-26 12:19:30
454
原创 【hot100】刷题记录(30)-在排序数组中查找元素的第一个和最后一个位置
给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。
2025-02-26 11:29:17
242
原创 【hot100】刷题记录(29)-搜索二维矩阵
给你一个满足下述两条属性的m x n给你一个整数target,如果target在矩阵中,返回true;否则,返回false。truefalse。
2025-02-25 11:04:30
624
原创 【hot100】刷题记录(28)-搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(log n)的算法。214。
2025-02-25 10:42:01
376
原创 【hot100】刷题记录(27)-单词搜索
给定一个m x n二维字符网格board和一个字符串单词word。如果word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
2025-02-24 10:29:08
216
原创 【hot100】刷题记录(25)-实现Trie
(发音类似 "try")或者说是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。Trie()wordwordtruefalsewordprefixtruefalse// 返回 True// 返回 False// 返回 True// 返回 TrueprefixinsertsearchstartsWith3 * 104。
2025-02-20 11:53:18
379
原创 【hot100】刷题记录(24)-课程表(深搜)
你这个学期必须选修numCourses门课程,记为0到。在选修某些课程之前需要一些先修课程。先修课程按数组给出,其中,表示如果要学习课程ai则先学习课程bi。[0, 1]01请你判断是否可能完成所有课程的学习?如果可以,返回true;否则,返回false。true总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。这是可能的。false总共有 2 门课程。学习课程 1 之前,你需要先完成课程 0;并且学习课程 0 之前,你还应先完成课程 1。这是不可能的。
2025-02-19 11:45:52
277
原创 【hot100】刷题记录(23)-腐烂的橘子
在给定的m x n网格grid012每分钟,腐烂的橘子的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。4-1左下角的橘子(第 2 行, 第 0 列)永远不会腐烂,因为腐烂只会发生在 4 个方向上。0因为 0 分钟时已经没有新鲜橘子了,所以答案就是 0。012。
2025-02-18 11:39:54
370
原创 【hot100】刷题记录(22)-路径总和 III
给定一个二叉树的根节点root,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的的数目。不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。3和等于 8 的路径有 3 条,如图所示。3。
2025-02-14 14:23:05
220
原创 【代码随想录】刷题记录(115)-岛屿数量(广搜)
题目描述给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述第一行包含两个整数 N, M,表示矩阵的行数和列数。后续 N 行,每行包含 M 个数字,数字为 1 或者 0。输出描述输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出 0。输入示例输出示例3提示信息根据测试案例中所展示,岛屿数量共有 3 个,所以输出 3。
2025-02-14 11:06:56
490
原创 【hot100】刷题记录(21)-从前序与中序遍历序列构造二叉树
给定两个整数数组preorder和inorder,其中preorder是二叉树的inorder是同一棵树的,请构造二叉树并返回其根节点。
2025-02-13 14:44:40
624
原创 【代码随想录】刷题记录(114)-岛屿数量(深搜)
题目描述给定一个由 1(陆地)和 0(水)组成的矩阵,你需要计算岛屿的数量。岛屿由水平方向或垂直方向上相邻的陆地连接而成,并且四周都是水域。你可以假设矩阵外均被水包围。输入描述第一行包含两个整数 N, M,表示矩阵的行数和列数。后续 N 行,每行包含 M 个数字,数字为 1 或者 0。输出描述输出一个整数,表示岛屿的数量。如果不存在岛屿,则输出 0。输入示例输出示例3提示信息根据测试案例中所展示,岛屿数量共有 3 个,所以输出 3。
2025-02-13 11:19:44
478
原创 【hot100】刷题记录(20)-二叉树展开为链表
给你二叉树的根结点rootTreeNoderightnullroot = [][]root = [0][0][0, 2000]
2025-02-12 15:03:27
299
原创 【代码随想录】刷题记录(113)-最长递增子序列
给你一个整数数组nums,找到其中最长严格递增子序列的长度。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7]是数组的子序列。4最长递增子序列是 [2,3,7,101],因此长度为 4。41。
2025-02-12 11:02:16
257
原创 【hot100】刷题记录(19)-二叉搜索树中第K小的元素
给定一个二叉搜索树的根节点root,和一个整数k,请你设计一个算法查找其中第k小的元素(从 1 开始计数)。13n。
2025-02-11 15:13:44
311
原创 【代码随想录】刷题记录(112)-单词拆分
给你一个字符串s和一个字符串列表wordDict作为字典。如果可以利用字典中出现的一个或多个单词拼接出s则返回true。不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。true返回 true 因为 "leetcode" 可以由 "leet" 和 "code" 拼接成。true返回 true 因为 "applepenapple" 可以由 "apple" "pen" "apple" 拼接成。注意,你可以重复使用字典中的单词。
2025-02-11 11:53:17
375
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人