自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(541)
  • 收藏
  • 关注

原创 LeetCode 2661. 找出叠涂元素

arr 和 mat 都包含范围 [1,m * n] 内的 所有 整数。输入:arr = [2,8,7,4,1,3,5,6,9], mat = [[3,2,5],[1,4,6],[8,7,9]]从下标 0 开始遍历 arr 中的每个下标 i ,并将包含整数 arr[i] 的 mat 单元格涂色。输入:arr = [1,3,4,2], mat = [[1,4],[2,3]]解释:遍历如上图所示,arr[2] 在矩阵中的第一行或第二列上都被涂色。解释:遍历如上图所示,arr[3] 在矩阵中的第二列上都被涂色。

2023-12-01 19:18:19 229

原创 LeetCode 2942. 查找包含给定字符的单词

给你一个下标从 0 开始的字符串数组 words 和一个字符 x 。请你返回一个 下标数组 ,表示下标在数组中对应的单词包含字符 x 。注意 ,返回的数组可以是 任意 顺序。

2023-12-01 19:14:04 195

原创 LeetCode 844. 比较含退格的字符串

给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true。输入:s = “ab#c”, t = “ad#c”输入:s = “ab##”, t = “c#d#”解释:s 会变成 “c”,但 t 仍然是 “b”。注意:如果对空文本输入退格字符,文本继续为空。输入:s = “a#c”, t = “b”解释:s 和 t 都会变成 “ac”。解释:s 和 t 都会变成 “”。

2023-11-30 21:53:54 528

原创 LeetCode 925. 长按键入

你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。输入:name = “saeed”, typed = “ssaaedd”解释:‘e’ 一定需要被键入两次,但在 typed 的输出中不是这样。输入:name = “alex”, typed = “aaleex”解释:‘alex’ 中的 ‘a’ 和 ‘e’ 被长按。

2023-11-30 21:51:40 261

原创 LeetCode 2446. 判断两个事件是否存在冲突

给你两个字符串数组 event1 和 event2 ,表示发生在同一天的两个闭区间时间段事件,其中:- event1 = [startTime1, endTime1] 且- event2 = [startTime2, endTime2]事件的时间为有效的 24 小时制且按 HH:MM 格式给出。当两个事件存在某个非空的交集时(即,某些时刻是两个事件都包含的),则认为出现 冲突 。如果两个事件之间存在冲突,返回 true ;否则,返回 false 。

2023-11-29 19:21:17 199

原创 LeetCode 2336. 无限集中的最小数字

现有一个包含所有正整数的集合 [1, 2, 3, 4, 5, ...] 。实现 SmallestInfiniteSet 类:- SmallestInfiniteSet() 初始化 SmallestInfiniteSet 对象以包含 所有 正整数。- int popSmallest() 移除 并返回该无限集中的最小整数。- void addBack(int num) 如果正整数 num 不 存在于无限集中,则将一个 num 添加 到该无限集最后。

2023-11-29 19:19:11 236

原创 LeetCode 692. 前K个高频单词

给定一个单词列表 words 和一个整数 k ,返回前 k 个出现次数最多的单词。返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率, 按字典顺序 排序。

2023-11-28 18:14:45 230

原创 LeetCode 746. 使用最小花费爬楼梯

给你一个整数数组 cost ,其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用,即可选择向上爬一个或者两个台阶。输入:cost = [1,100,1,1,1,100,1,1,100,1]你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。输入:cost = [10,15,20]请你计算并返回达到楼梯顶部的最低花费。解释:你将从下标为 1 的台阶开始。解释:你将从下标为 0 的台阶开始。

2023-11-28 18:12:23 93

原创 LeetCode 2395. 和相等的子数组

给你一个下标从 0 开始的整数数组 nums ,判断是否存在 两个 长度为 2 的子数组且它们的 和 相等。注意,这两个子数组起始位置的下标必须 不相同 。如果这样的子数组存在,请返回 true,否则返回 false 。子数组 是一个数组中一段连续非空的元素组成的序列。

2023-11-27 18:43:36 106

原创 LeetCode 2335. 装满杯子需要的最短总时长

现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。给你一个下标从 0 开始、长度为 3 的整数数组 amount ,其中 amount[0]、amount[1] 和 amount[2] 分别表示需要装满冷水、温水和热水的杯子数量。返回装满所有杯子所需的 最少 秒数。

2023-11-27 18:35:21 147

原创 LeetCode 2325. 解密消息

给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: - 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。 - 将替换表与普通英文字母表对齐,形成对照表。 - 按照对照表 替换 message 中的每个字母。 - 空格 ' ' 保持不变。 例如,key = "happy boy"(实际的加密密钥会包含字母表中每个字母 至少一次),据此,可以得到部分对照表('h' -> 'a'、'a

2023-11-26 18:12:45 111

原创 LeetCode 2455. 可被三整除的偶数的平均值

注意:n 个元素的平均值等于 n 个元素 求和 再除以 n ,结果 向下取整 到最接近的整数。给你一个由正整数组成的整数数组 nums ,返回其中可被 3 整除的所有偶数的平均值。解释:6 和 12 是可以被 3 整除的偶数。输入:nums = [1,3,6,10,12,15]解释:不存在满足题目要求的整数,所以返回 0。输入:nums = [1,2,4,7,10]

2023-11-26 18:10:01 50

原创 LeetCode 824. 山羊拉丁文

给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下: 如果单词以元音开头('a', 'e', 'i', 'o', 'u'),在单词后添加"ma"。 例如,单词 "apple" 变为 "applema" 。 如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后

2023-11-25 12:08:17 40

原创 LeetCode 1457. 二叉树中的伪回文路径

在这些路径中,只有红色和绿色的路径是伪回文路径,因为红色路径 [2,3,3] 存在回文排列 [3,2,3] ,绿色路径 [2,1,1] 存在回文排列 [1,2,1]。解释:上图为给定的二叉树。总共有 3 条从根到叶子的路径:红色路径 [2,3,3] ,绿色路径 [2,1,1] 和路径 [2,3,1]。总共有 3 条从根到叶子的路径:绿色路径 [2,1,1] ,路径 [2,1,3,1] 和路径 [2,1]。输入:root = [2,1,1,1,3,null,null,null,null,null,1]

2023-11-25 12:05:17 162

原创 LeetCode 804. 唯一摩尔斯密码词

例如,“cab” 可以写成 “-.-…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。我们将这样一个连接过程称作 单词翻译。给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。输入: words = [“gin”, “zen”, “gig”, “msg”]对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量。共有 2 种不同翻译, “–…输入:words = [“a”]

2023-11-24 15:30:32 129

原创 LeetCode 2824. 统计和小于目标的下标对数目

给你一个下标从 0 开始长度为 n 的整数数组 nums 和一个整数 target ,请你返回满足 0

2023-11-24 15:18:34 354

原创 LeetCode 682. 棒球比赛

比赛开始时,记录是空白的。“+” - 记录加 9 + 5 = 14 ,记录现在是 [5, -2, -4, 9, 5, 14]“+” - 记录加 -4 + 9 = 5 ,记录现在是 [5, -2, -4, 9, 5]输入:ops = [“5”,“-2”,“4”,“C”,“D”,“9”,“+”,“+”]“D” - 记录加 2 * -2 = -4 ,记录现在是 [5, -2, -4]“9” - 记录加 9 ,记录现在是 [5, -2, -4, 9]输入:ops = [“5”,“2”,“C”,“D”,“+”]

2023-11-23 16:06:26 279

原创 LeetCode 1410. HTML 实体解析器

HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。输入:text = “& is an HTML entity but &ambassador;输出:“& is an HTML entity but &ambassador;给你输入字符串 text ,请你实现一个 HTML 实体解析器,返回解析器解析后的结果。解释:解析器把字符实体 & 用 & 替换。

2023-11-23 15:04:28 133

原创 LeetCode 680. 验证回文串 II

请你判断 s 是否能成为回文字符串:如果能,返回 true;否则,返回 false。给你一个字符串 s,最多 可以从中删除一个字符。解释:你可以删除字符 ‘c’。输入:s = “abca”输入:s = “aba”输入:s = “abc”

2023-11-22 18:35:28 166

原创 LeetCode 521. 最长特殊序列 Ⅰ

解释: 字符串 a 的每个子序列也是字符串 b 的每个子序列。同样,字符串 b 的每个子序列也是字符串 a 的子序列。给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 的长度。如果不存在,则返回 -1。解释: 最长特殊序列可为 “aba” (或 “cdc”),两者均为自身的子序列且不是对方的子序列。「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列)。输入:a = “aaa”, b = “bbb”输入:a = “aaa”, b = “aaa”

2023-11-22 18:22:05 32

原创 LeetCode 384. 打乱数组

/ 打乱数组 [1,2,3] 并返回结果。任何 [1,2,3]的排列返回的概率应该相同。例如,返回 [3, 1, 2]solution.shuffle();// 随机返回数组 [1, 2, 3] 打乱后的结果。例如,返回 [1, 3, 2]solution.reset();// 重设数组到它的初始状态 [1, 2, 3]。返回 [1, 2, 3]给你一个整数数组 nums ,设计算法来打乱一个没有重复元素的数组。打乱后,数组的所有排列应该是 等可能 的。

2023-11-21 18:34:41 32

原创 LeetCode 2216. 美化数组的最少删除数

解释:可以删除 nums[0] 或 nums[1] ,这样得到的 nums = [1,2,3,5] 是一个美丽数组。可以证明,要想使 nums 变为美丽数组,至少需要删除 1 个元素。解释:可以删除 nums[0] 和 nums[5] ,这样得到的 nums = [1,2,2,3] 是一个美丽数组。可以证明,要想使 nums 变为美丽数组,至少需要删除 2 个元素。你可以从 nums 中删除任意数量的元素。输入:nums = [1,1,2,2,3,3]输入:nums = [1,1,2,3,5]

2023-11-21 11:59:34 139

原创 LeetCode 162. 寻找峰值

给你一个整数数组 nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回 任何一个峰值 所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。解释:3 是峰值元素,你的函数应该返回其索引 2。输入:nums = [1,2,1,3,5,6,4]解释:你的函数可以返回索引 1,其峰值元素为 2;峰值元素是指其值严格大于左右相邻值的元素。输入:nums = [1,2,3,1]或者返回索引 5, 其峰值元素为 6。

2023-11-19 11:53:17 32

原创 LeetCode 164. 最大间距

给定一个无序的数组 nums,返回 数组在排序之后,相邻元素之间最大的差值。如果数组元素个数小于 2,则返回 0。解释: 排序后的数组是 [1,3,6,9], 其中相邻元素 (3,6) 和 (6,9) 之间都存在最大差值 3。您必须编写一个在「线性时间」内运行并使用「线性额外空间」的算法。解释: 数组元素个数小于 2,因此返回 0。输入: nums = [3,6,9,1]输入: nums = [10]

2023-11-19 11:36:45 41

原创 LeetCode 167. 两数之和 II - 输入有序数组

如果设这两个数分别是 numbers[index1] 和 numbers[index2] ,则 1

2023-11-19 11:04:19 43

原创 LeetCode 2342. 数位和相等数对的最大和

给你一个下标从 0 开始的数组 nums ,数组中的元素都是 正 整数。请你选出两个下标 i 和 j(i!= j),且 nums[i] 的数位和 与 nums[j] 的数位和相等。请你找出所有满足条件的下标 i 和 j ,找出并返回 nums[i] + nums[j] 可以得到的 最大值。输入:nums = [18,43,36,13,7]输入:nums = [10,12,19,14]解释:不存在满足条件的数对,返回 -1。

2023-11-18 22:35:40 46

原创 LeetCode 206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2023-11-17 19:44:06 33

原创 LeetCode 141. 环形链表

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。输入:head = [3,2,0,-4], pos = 1。给你一个链表的头节点 head ,判断链表中是否有环。输入:head = [1,2], pos = 0。解释:链表中有一个环,其尾部连接到第二个节点。解释:链表中有一个环,其尾部连接到第一个节点。输入:head = [1], pos = -1。解释:链表中没有环。

2023-11-17 19:19:27 27

原创 LeetCode 114. 二叉树展开为链表

给你二叉树的根结点 root ,请你将它展开为一个单链表: - 展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。 - 展开后的单链表应该与二叉树 先序遍历 顺序相同。

2023-11-16 19:33:34 35

原创 LeetCode 2760. 最长奇偶子数组

给你一个下标从 0 开始的整数数组 nums 和一个整数 threshold 。请你从 nums 的子数组中找出以下标 l 开头、下标 r 结尾 (0

2023-11-16 19:30:32 191

原创 LeetCode 19. 删除链表的倒数第 N 个结点

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。输入:head = [1,2,3,4,5], n = 2。输入:head = [1,2], n = 1。输入:head = [1], n = 1。进阶:你能尝试使用一趟扫描实现吗?输出:[1,2,3,5]

2023-11-15 18:42:41 613

原创 LeetCode 24. 两两交换链表中的节点

给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head = [1,2,3,4]输入:head = [1]输出:[2,1,4,3]输入:head = []

2023-11-15 18:37:19 62

原创 LeetCode 203. 移除链表元素

给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点。输入:head = [1,2,6,3,4,5,6], val = 6。输入:head = [7,7,7,7], val = 7。输入:head = [], val = 1。输出:[1,2,3,4,5]

2023-11-15 11:18:28 241

原创 LeetCode 222. 完全二叉树的节点个数

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。进阶:遍历树来统计节点是一种时间复杂度为 O(n) 的简单解决方案。你可以设计一个更快的算法吗?给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。输入:root = [1,2,3,4,5,6]输入:root = [1]输入:root = []

2023-11-15 11:14:08 124

原创 LeetCode 1334. 阈值距离内邻居最少的城市

有 n 个城市,按从 0 到 n-1 编号。给你一个边数组 edges,其中 edges[i] = [fromi, toi, weighti] 代表 fromi 和 toi 两个城市之间的双向加权边,距离阈值是一个整数 distanceThreshold。返回能通过某些路径到达其他城市数目最少、且路径距离 最大 为 distanceThreshold 的城市。如果有多个这样的城市,则返回编号最大的城市。注意,连接城市 i 和 j 的路径的距离等于沿该路径的所有边的权重之和。

2023-11-14 18:38:50 150

原创 LeetCode 5. 最长回文子串

如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。给你一个字符串 s,找到 s 中最长的回文子串。解释:“aba” 同样是符合题意的答案。输入:s = “babad”输入:s = “cbbd”

2023-11-14 18:35:58 28

原创 LeetCode 501. 二叉搜索树中的众数

给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。进阶:你可以不使用额外的空间吗?(假设由递归产生的隐式调用栈的开销不被计算在内)如果树中有不止一个众数,可以按 任意顺序 返回。输入:root = [1,null,2,2]输入:root = [0]

2023-11-13 18:46:30 33

原创 LeetCode 307. 区域和检索 - 数组可修改

给你一个数组 nums ,请你完成两类查询。- 其中一类查询要求 更新 数组 nums 下标对应的值 - 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间( 包含 )的nums元素的 和 ,其中 left

2023-11-13 18:43:49 112

原创 LeetCode 55. 跳跃游戏

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标。数组中的每个元素代表你在该位置可以跳跃的最大长度。解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一个下标。解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。判断你是否能够到达最后一个下标,如果可以,返回 true;否则,返回 false。输入:nums = [2,3,1,1,4]输入:nums = [3,2,1,0,4]

2023-11-12 21:59:28 32

原创 LeetCode 74. 搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵: - 每行中的整数从左到右按非严格递增顺序排列。 - 每行的第一个整数大于前一行的最后一个整数。给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false 。

2023-11-12 21:40:17 118

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除