![](https://img-blog.csdnimg.cn/d834f536d4ec4c9b90a9a97df47250ac.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
HOT100
文章平均质量分 64
Leetcode HOT100
Rocoberry_团子
慢慢来慢慢来
展开
-
100 寻找重复数
范围内(包括 1 和 n),可知至少存在一个重复的整数。「Floyd 判圈算法」时间复杂度为线性的时间复杂度。你设计的解决方案必须 不修改 数组。原创 2023-11-10 17:52:32 · 113 阅读 · 0 评论 -
Leetcode 31 下一个排列
例如,arr = [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。就是在这个有序容器中排在它后面的那个排列。如果不存在下一个更大的排列,那么这个数组必须重排为字典序最小的排列(即,其元素按升序排列)。是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的。商业转载请联系官方授权,非商业转载请注明出处。修改,只允许使用额外常数空间。不存在一个字典序更大的排列。原创 2023-04-12 15:55:47 · 30 阅读 · 0 评论 -
99 颜色分类
原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。给定一个包含红色、白色和蓝色、共。输出:[0,0,1,1,2,2]输出:[0,1,2]原创 2023-11-10 15:37:52 · 50 阅读 · 0 评论 -
98 多数元素
返回其中的多数元素。多数元素是指在数组中出现次数 大于。你可以假设数组是非空的,并且给定的数组总是存在多数元素。进阶:尝试设计时间复杂度为。原创 2023-11-10 08:17:29 · 58 阅读 · 0 评论 -
97 只出现一次的数字
除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。的算法来解决此问题,且该算法。原创 2023-11-10 08:05:27 · 154 阅读 · 0 评论 -
96 前缀树Trie
(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。原创 2023-11-10 08:01:43 · 214 阅读 · 0 评论 -
95 课程表
方法一: BFS从入度思考(从前往后排序), 入度为0的节点在拓扑排序中一定排在前面, 然后删除和该节点对应的边, 迭代寻找入度为0的节点。方法二: DFS从出度思考(从后往前排序), 出度为0的节点在拓扑排序中一定排在后面, 然后删除和该节点对应的边, 迭代寻找出度为0的节点。解释:总共有 2 门课程。学习课程 1 之前,你需要先完成课程 0;并且学习课程 0 之前,你还应先完成课程 1。在选修某些课程之前需要一些先修课程。解释:总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。原创 2023-11-10 07:31:25 · 115 阅读 · 0 评论 -
94 腐烂的橘子
【代码】94 腐烂的橘子。原创 2023-11-06 14:48:51 · 65 阅读 · 0 评论 -
【并查集】93 岛屿数量
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。原创 2023-11-03 11:53:45 · 55 阅读 · 0 评论 -
92 数据流中的中位数
是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。返回到目前为止所有元素的中位数。与实际答案相差 10-5 以内的答案将被接受。的中位数是 (2 + 3) / 2 = 2.5。原创 2023-11-02 12:38:16 · 60 阅读 · 0 评论 -
91 前K个高频元素
进阶:你所设计算法的时间复杂度 必须 优于。你可以按 任意顺序 返回答案。,请你返回其中出现频率前。原创 2023-11-02 12:10:12 · 104 阅读 · 0 评论 -
90 数组中的第K个最大元素
大根堆就是根节点是整棵树的最大值(根节点大于等于左右子树的最大值),对于他的任意子树,根节点也是最大值。请注意,你需要找的是数组排序后的第。你必须设计并实现时间复杂度为。个最大的元素,而不是第。原创 2023-11-02 11:40:46 · 328 阅读 · 0 评论 -
89 柱状图中最大的矩形
个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1。求在该柱状图中,能够勾勒出来的矩形的最大面积。原创 2023-11-01 12:06:10 · 146 阅读 · 0 评论 -
88 每日温度
天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用。输出: [1,1,4,2,1,1,0,0],表示每天的温度,返回一个数组。输出: [1,1,1,0]输出: [1,1,0]原创 2023-10-31 21:56:33 · 121 阅读 · 0 评论 -
【经典面试】87 字符串解码
输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数。给定一个经过编码的字符串,返回它解码后的字符串。,例如不会出现像 3a 或 2[4] 的输入。输入:s = “2[abc]3[cd]ef”输入:s = “abc3[cd]xyz”输出:“abcabccdcdcdef”输入:s = “3[a]2[bc]”输入:s = “3[a2[c]]”输出:“abccdcdcdxyz”输出:“accaccacc”输出:“aaabcbc”原创 2023-10-30 17:03:17 · 199 阅读 · 0 评论 -
86 最小栈
-> 返回 -3.minStack.getMin();--> 返回 -2.minStack.top();操作,并能在常数时间内检索到最小元素的栈。原创 2023-10-30 15:16:32 · 62 阅读 · 0 评论 -
Leetcode 20 有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。左括号必须用相同类型的右括号闭合。来源:力扣(LeetCode)左括号必须以正确的顺序闭合。原创 2021-02-01 09:03:43 · 75 阅读 · 1 评论 -
82 N皇后
皇后问题 的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。的棋盘上,并且使皇后彼此之间不能相互攻击。按照国际象棋的规则,皇后可以攻击与之处在。皇后问题 研究的是如何将。每一种解法包含一个不同的。皇后问题 的解决方案。原创 2023-10-29 20:47:03 · 87 阅读 · 0 评论 -
81 分割回文串
输出:[[“a”,“a”,“b”],[“aa”,“b”]]返回 s 所有可能的分割方案。是正着读和反着读都一样的字符串。输出:[[“a”]]原创 2023-10-29 20:28:22 · 83 阅读 · 0 评论 -
【需要理解】80 单词搜索
单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。原创 2023-10-29 16:52:04 · 175 阅读 · 0 评论 -
Leetcode 39 组合总和
中的 同一个 数字可以 无限制重复被选取。如果至少一个数字的被选数量不同,则两种组合是不同的。著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。不同组合 ,并以列表形式返回。给你一个 无重复元素 的整数数组。来源:力扣(LeetCode)中可以使数字和为目标数。对于给定的输入,保证和为。原创 2023-04-27 16:25:20 · 41 阅读 · 0 评论 -
79 电话号码的字母组合
输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。输出:[“a”,“b”,“c”]原创 2023-10-29 12:53:37 · 89 阅读 · 0 评论 -
78 子集
返回该数组所有可能的子集(幂集)。原创 2023-10-29 12:21:16 · 136 阅读 · 0 评论 -
77 全排列
返回其 所有可能的全排列。给定一个不含重复数字的数组。原创 2023-10-28 10:34:47 · 71 阅读 · 0 评论 -
【需要理解】Leetcode 4 寻找两个正序数组的中位数
给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?首先确定了 3 < 9 所以 3之前的数也都小于 9 (正序数组性质)著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。这个结果着实不怎么样,果然是没啥改进的稍作改进!故只需要比较3之后和9之前的数 去找剩下的3个。思路不好想,但是想清楚之后,很容易写出递归式。时空复杂度为O(log(m+n))原创 2021-01-13 12:15:36 · 145 阅读 · 1 评论 -
75 寻找旋转排序数组中的最小值
它原来是一个升序排列的数组,并按上述情形进行了多次旋转。请你找出并返回数组中的 最小元素。解释:原数组为 [0,1,2,4,5,6,7] ,旋转 4 次得到输入数组。解释:原数组为 [11,13,15,17] ,旋转 4 次得到输入数组。解释:原数组为 [1,2,3,4,5] ,旋转 3 次得到输入数组。次 旋转 后,得到输入数组。给你一个元素值 互不相同 的数组。若旋转 4 次,则可以得到。若旋转 7 次,则可以得到。旋转一次 的结果为数组。你必须设计一个时间复杂度为。原创 2023-10-28 09:41:41 · 79 阅读 · 0 评论 -
Leetcode 33 搜索旋转排序数组
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。在下标 3 处经旋转后可能变为。,则返回它的下标,否则返回。来源:力扣(LeetCode)上进行了 旋转,使数组变为。你必须设计一个时间复杂度为。按升序排列,数组中的值。在预先未知的某个下标。原创 2023-04-14 10:06:46 · 44 阅读 · 0 评论 -
Leetcode 34 在排序数组中查找元素的第一个和最后一个位置
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。请你找出给定目标值在数组中的开始位置和结束位置。给你一个按照非递减顺序排列的整数数组。你必须设计并实现时间复杂度为。来源:力扣(LeetCode)如果数组中不存在目标值。原创 2023-04-15 08:53:30 · 106 阅读 · 1 评论 -
71 搜索二维矩阵
给你一个整数。原创 2023-10-27 11:27:26 · 471 阅读 · 0 评论 -
70 搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,如果目标值不存在于数组中,请必须使用时间复杂度为。原创 2023-10-27 11:04:53 · 136 阅读 · 0 评论 -
69 划分字母区间
划分结果为 “ababcbaca”、“defegde”、“hijhklij”。每次都在找当前字符所在的最大下标k,可以保证该片段的最小长度n>k-begin。我们要把这个字符串划分为尽可能多的片段,同一字母最多出现在一个片段中。注意,划分结果需要满足:将所有划分结果按顺序连接,得到的字符串仍然是。每个字母最多出现在一个片段中。返回一个表示每个字符串片段的。输出:[9,7,8]原创 2023-10-26 11:59:41 · 84 阅读 · 0 评论 -
68 买卖股票的最佳时机
解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5。买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。注意利润不能是 7-1 = 6, 因为卖出价格需要大于买入价格;同时,你不能在买入前卖出股票。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0。解释:在这种情况下, 没有交易完成, 所以最大利润为 0。表示一支给定股票第 i 天的价格。原创 2023-10-25 11:38:18 · 88 阅读 · 0 评论 -
67 跳跃游戏 II
直观上来看,我们可以「贪心」地选择距离最后一个位置最远的那个位置,也就是对应下标最小的那个位置。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。如果有多个位置通过跳跃都能够到达最后一个位置,那么我们应该如何进行选择呢?因此,我们可以从左到右遍历数组,选择第一个满足要求的位置。解释: 跳到最后一个位置的最小跳跃数是 2。向前跳转的最大长度。处,你可以跳转到任意。原创 2023-10-25 11:05:59 · 135 阅读 · 0 评论 -
66 跳跃游戏
解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回。给你一个非负整数数组。原创 2023-10-25 11:05:13 · 353 阅读 · 1 评论 -
65 编辑距离
inention -> enention (将 ‘i’ 替换为 ‘e’)enention -> exention (将 ‘n’ 替换为 ‘x’)exention -> exection (将 ‘n’ 替换为 ‘c’)horse -> rorse (将 ‘h’ 替换为 ‘r’)intention -> inention (删除 ‘t’)exection -> execution (插入 ‘u’)rorse -> rose (删除 ‘r’)rose -> ros (删除 ‘e’)所使用的最少操作数。原创 2023-10-24 09:59:36 · 33 阅读 · 0 评论 -
64 最长公共子序列
例如,“ace” 是 “abcde” 的子序列,但 “aec” 不是 “abcde” 的子序列。的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在。解释:最长公共子序列是 “ace” ,它的长度为 3。解释:最长公共子序列是 “abc” ,它的长度为 3。解释:两个字符串没有公共子序列,返回 0。,返回这两个字符串的。原创 2023-10-23 22:01:14 · 286 阅读 · 0 评论 -
Leetcode 5 最长回文子串
给你一个字符串 s,找到 s 中最长的回文子串。暴力果然只通过了不到1/3。马拉车得多看几遍喵喵喵。原创 2021-01-14 22:17:04 · 82 阅读 · 0 评论 -
62 最小路径和
给定一个包含非负整数的。的路径,使得路径上的。原创 2023-10-23 20:30:17 · 64 阅读 · 0 评论 -
61 不同路径
因为计算时,当前位置(i,j)的数据只和当前行的第j-1个数据和前一行的第j个数据有关,所以当计算当前行的第j个数据时,可以直接把上一行的第j个数据覆盖,不影响计算结果(即用第i行的数据逐渐覆盖第i-1行,不影响计算结果)。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。从左上角开始,总共有 3 条路径可以到达右下角。(起始点在下图中标记为 “Start” )。原创 2023-10-21 11:56:42 · 202 阅读 · 0 评论 -
60 最长有效括号
的字符串,找出最长有效(格式正确且连续)括号子串的长度。原创 2023-10-20 12:26:57 · 572 阅读 · 0 评论