leetcode每日一题
文章平均质量分 64
JYeontu
不止前端
展开
-
3084. 统计以给定字符开头和结尾的子字符串总数
给你一个字符串 s 和一个字符 c 。返回在字符串 s 中并且以 c 字符开头和结尾的非空子字符串的总数。原创 2024-04-04 15:23:17 · 247 阅读 · 0 评论 -
3083. 字符串及其反转中是否存在同一子字符串
给你一个字符串 s ,请你判断字符串 s 是否存在一个长度为 2 的子字符串,在其反转后的字符串中也出现。如果存在这样的子字符串,返回 true;如果不存在,返回 false 。原创 2024-04-04 14:57:33 · 328 阅读 · 0 评论 -
3090. 每个字符最多出现两次的最长子字符串
给你一个字符串 s ,请找出满足每个字符最多出现两次的最长子字符串,并返回该子字符串的 最大 长度。原创 2024-04-03 15:41:28 · 326 阅读 · 0 评论 -
1379. 找出克隆二叉树中的相同节点
给你两棵二叉树,原始树 original 和克隆树 cloned,以及一个位于原始树 original 中的目标节点 target。其中,克隆树 cloned 是原始树 original 的一个 副本 。请找出在树 cloned 中,与 target 相同 的节点,并返回对该节点的引用(在 C/C++ 等有指针的语言中返回 节点指针,其他语言返回节点本身)。原创 2024-04-03 15:03:13 · 280 阅读 · 0 评论 -
2671. 频率跟踪器
请你设计并实现一个能够对其中的值进行跟踪的数据结构,并支持对频率相关查询进行应答。实现 FrequencyTracker 类:FrequencyTracker():使用一个空数组初始化 FrequencyTracker 对象。void add(int number):添加一个 number 到数据结构中。void deleteOne(int number):从数据结构中删除一个 number 。数据结构 可能不包含 number ,在这种情况下不删除任何内容。bool hasFrequency原创 2024-04-02 10:16:37 · 564 阅读 · 0 评论 -
1410. HTML 实体解析器
「HTML 实体解析器」 是一种特殊的解析器,它将 HTML 代码作为输入,并用字符本身替换掉所有这些特殊的字符实体。HTML 里这些特殊字符和它们对应的字符实体包括:双引号: 字符实体为 " ,对应的字符是 " 。单引号: 字符实体为 ' ,对应的字符是 ' 。与符号: 字符实体为 & ,对应对的字符是 & 。大于号: 字符实体为 > ,对应的字符是 > 。小于号: 字符实体为 < ,对应的字符是 < 。斜线号: 字符实体为 ⁄ ,对应原创 2024-03-20 15:00:17 · 388 阅读 · 0 评论 -
1732. 找到最高海拔
有一个自行车手打算进行一场公路骑行,这条路线总共由 n + 1 个不同海拔的点组成。自行车手从海拔为 0 的点 0 开始骑行。给你一个长度为 n 的整数数组 gain ,其中 gain[i] 是点 i 和点 i + 1 的 净海拔高度差(0原创 2024-03-19 10:03:46 · 398 阅读 · 0 评论 -
3079. 求出加密整数的和
给你一个整数数组 nums ,数组中的元素都是 正 整数。定义一个加密函数 encrypt ,encrypt(x) 将一个整数 x 中 每一个 数位都用 x 中的 最大 数位替换。比方说 encrypt(523) = 555 且 encrypt(213) = 333 。请你返回数组中所有元素加密后的 和 。原创 2024-03-19 00:15:00 · 420 阅读 · 0 评论 -
2684. 矩阵中移动的最大次数
给你一个下标从 0 开始、大小为 m x n 的矩阵 grid ,矩阵由若干 正 整数组成。你可以从矩阵第一列中的 任一 单元格出发,按以下方式遍历 grid :从单元格 (row, col) 可以移动到 (row - 1, col + 1)、(row, col + 1) 和 (row + 1, col + 1) 三个单元格中任一满足值 严格 大于当前单元格的单元格。返回你在矩阵中能够 移动 的 最大 次数。原创 2024-03-18 14:46:06 · 402 阅读 · 0 评论 -
2085. 统计出现过一次的公共字符串
给你两个字符串数组 words1 和 words2 ,请你返回在两个字符串数组中 都恰好出现一次 的字符串的数目。原创 2024-03-15 16:24:19 · 381 阅读 · 0 评论 -
2706. 购买两块巧克力
给你一个整数数组 prices ,它表示一个商店里若干巧克力的价格。同时给你一个整数 money ,表示你一开始拥有的钱数。你必须购买 恰好 两块巧克力,而且剩余的钱数必须是 非负数 。同时你想最小化购买两块巧克力的总花费。请你返回在购买两块巧克力后,最多能剩下多少钱。如果购买任意两块巧克力都超过了你拥有的钱,请你返回 money 。注意剩余钱数必须是非负数。原创 2024-03-13 00:15:00 · 407 阅读 · 0 评论 -
1094. 拼车
车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不允许掉头或改变方向)给定整数 capacity 和一个数组 trips , trip[i] = [numPassengersi, fromi, toi] 表示第 i 次旅行有 numPassengersi 乘客,接他们和放他们的位置分别是 fromi 和 toi 。这些位置是从汽车的初始位置向东的公里数。当且仅当你可以在所有给定的行程中接送所有乘客时,返回 true,否则请返回 false。原创 2024-03-12 09:46:55 · 433 阅读 · 0 评论 -
2678. 老人的数目
给你一个下标从 0 开始的字符串 details 。details 中每个元素都是一位乘客的信息,信息用长度为 15 的字符串表示,表示方式如下:前十个字符是乘客的手机号码。接下来的一个字符是乘客的性别。接下来两个字符是乘客的年龄。最后两个字符是乘客的座位号。请你返回乘客中年龄 严格大于 60 岁 的人数。原创 2024-03-12 00:15:00 · 404 阅读 · 0 评论 -
2129. 将标题首字母大写
给你一个字符串 title ,它由单个空格连接一个或多个单词组成,每个单词都只包含英文字母。请你按以下规则将每个单词的首字母 大写 :如果单词的长度为 1 或者 2 ,所有字母变成小写。否则,将单词首字母大写,剩余字母变成小写。请你返回 大写后 的 title` 。原创 2024-03-11 09:30:37 · 390 阅读 · 0 评论 -
二叉树的垂序遍历
🎈二叉树的遍历方式有很多,前序遍历,中序遍历,后序遍历、层序遍历,这几种遍历方法相信大家都已经很熟悉了吧,那么垂序遍历你们有没有听说过呢?今天让我们一起来看看怎么对二叉树进行垂序遍历。原创 2024-03-11 09:21:51 · 2369 阅读 · 0 评论 -
100233. 重新分装苹果
给你一个长度为 n 的数组 apple 和另一个长度为 m 的数组 capacity 。一共有 n 个包裹,其中第 i 个包裹中装着 apple[i] 个苹果。同时,还有 m 个箱子,第 i 个箱子的容量为 capacity[i] 个苹果。请你选择一些箱子来将这 n 个包裹中的苹果重新分装到箱子中,返回你需要选择的箱子的 最小 数量。注意,同一个包裹中的苹果可以分装到不同的箱子中。原创 2024-03-10 17:00:58 · 436 阅读 · 0 评论 -
299. 猜数字游戏
你在和朋友一起玩 猜数字(Bulls and Cows)游戏,该游戏规则如下:写出一个秘密数字,并请朋友猜这个数字是多少。朋友每猜测一次,你就会给他一个包含下述信息的提示:猜测数字中有多少位属于数字和确切位置都猜对了(称为 "Bulls",公牛),有多少位属于数字猜对了但是位置不对(称为 "Cows",奶牛)。也就是说,这次猜测中有多少位非公牛数字可以通过重新排列转换成公牛数字。给你一个秘密数字 secret 和朋友猜测的数字 guess ,请你返回对朋友这次猜测的提示。提示的格式为 "xA原创 2024-03-10 16:36:25 · 810 阅读 · 0 评论 -
2828. 判别首字母缩略词
给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,"ab" 可以由 ["apple", "banana"] 形成,但是无法从 ["bear", "aardvark"] 形成。如果 s 是 words 的首字母缩略词,返回 true ;否则,返回 false 。原创 2024-03-08 17:35:51 · 409 阅读 · 0 评论 -
2609. 最长平衡子字符串
给你一个仅由 0 和 1 组成的二进制字符串 s 。 如果子字符串中 所有的 0 都在 1 之前 且其中 0 的数量等于 1 的数量,则认为 s 的这个子字符串是平衡子字符串。请注意,空子字符串也视作平衡子字符串。 返回 s 中最长的平衡子字符串长度。子字符串是字符串中的一个连续字符序列。原创 2024-03-08 17:25:46 · 393 阅读 · 0 评论 -
987. 二叉树的垂序遍历
🎈二叉树的遍历方式有很多,`前序遍历`,`中序遍历`,`后序遍历`、`层序遍历`,这几种遍历方法相信大家都已经很熟悉了吧,那么`垂直遍历`你们有没有听说过呢?今天让我们一起来看看怎么对二叉树进行垂直遍历。原创 2024-03-07 15:24:11 · 427 阅读 · 0 评论 -
2575. 找出字符串的可整除数组
给你一个下标从 0 开始的字符串 word ,长度为 n ,由从 0 到 9 的数字组成。另给你一个正整数 m 。word 的 可整除数组 div 是一个长度为 n 的整数数组,并满足:如果 word[0,...,i] 所表示的 数值 能被 m 整除,div[i] = 1否则,div[i] = 0返回 word 的可整除数组。原创 2024-03-07 14:16:58 · 378 阅读 · 0 评论 -
2697. 字典序最小回文串
给你一个由 小写英文字母 组成的字符串 s ,你可以对其执行一些操作。在一步操作中,你可以用其他小写英文字母 替换 s 中的一个字符。请你执行 尽可能少的操作 ,使 s 变成一个 回文串 。如果执行 最少 操作次数的方案不止一种,则只需选取 字典序最小 的方案。对于两个长度相同的字符串 a 和 b ,在 a 和 b 出现不同的第一个位置,如果该位置上 a 中对应字母比 b 中对应字母在字母表中出现顺序更早,则认为 a 的字典序比 b 的字典序要小。返回最终的回文字符串。原创 2024-03-06 10:37:27 · 402 阅读 · 0 评论 -
2698. 求一个整数的惩罚数
给你一个正整数 n ,请你返回 n 的 惩罚数 。n 的 惩罚数 定义为所有满足以下条件 i 的数的平方和:1原创 2024-03-06 00:15:00 · 368 阅读 · 0 评论 -
2679. 矩阵中的和
给你一个下标从 0 开始的二维整数数组 nums 。一开始你的分数为 0 。你需要执行以下操作直到矩阵变为空:矩阵中每一行选取最大的一个数,并删除它。如果一行中有多个最大的数,选择任意一个并删除。在步骤 1 删除的所有数字中找到最大的一个数字,将它添加到你的 分数 中。请你返回最后的 分数 。原创 2024-03-05 00:15:00 · 377 阅读 · 0 评论 -
2696. 删除子串后的字符串最小长度
给你一个仅由 大写 英文字符组成的字符串 s 。你可以对此字符串执行一些操作,在每一步操作中,你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。通过执行操作,删除所有 "AB" 和 "CD" 子串,返回可获得的最终字符串的 最小 可能长度。注意,删除子串后,重新连接出的字符串可能会产生新的 "AB" 或 "CD" 子串。原创 2024-03-05 00:15:00 · 386 阅读 · 0 评论 -
2864. 最大二进制奇数
给你一个 二进制 字符串 s ,其中至少包含一个 '1' 。你必须按某种方式 重新排列 字符串中的位,使得到的二进制数字是可以由该组合生成的 最大二进制奇数 。以字符串形式,表示并返回可以由给定组合生成的最大二进制奇数。注意 返回的结果字符串 可以 含前导零。原创 2024-03-04 10:41:10 · 368 阅读 · 0 评论 -
实现一个简单的哈希映射功能
🎈哈希表大家应该都经常用到吧,那么大家有没有想过哈希表是怎么实现的呢?今天让我们一起从一道简单的题目来初步了解一个哈希表的简单原理。原创 2024-03-04 08:39:08 · 2472 阅读 · 0 评论 -
100243. 将元素分配到两个数组中 I
给你一个下标从 1 开始、包含 不同 整数的数组 nums ,数组长度为 n 。你需要通过 n 次操作,将 nums 中的所有元素分配到两个数组 arr1 和 arr2 中。在第一次操作中,将 nums[1] 追加到 arr1 。在第二次操作中,将 nums[2] 追加到 arr2 。之后,在第 i 次操作中:如果 arr1 的最后一个元素 大于 arr2 的最后一个元素,就将 nums[i] 追加到 arr1 。否则,将 nums[i] 追加到 arr2 。通过连接数组 arr1 和 arr2原创 2024-03-03 22:03:13 · 398 阅读 · 0 评论 -
100231. 超过阈值的最少操作数 I
给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。一次操作中,你可以删除 nums 中的最小元素。你需要使数组中的所有元素都大于或等于 k ,请你返回需要的 最少 操作次数。原创 2024-03-03 21:47:26 · 383 阅读 · 0 评论 -
2937. 使三个字符串相等
给你三个字符串 s1、s2 和 s3。 你可以根据需要对这三个字符串执行以下操作 任意次数 。在每次操作中,你可以选择其中一个长度至少为 2 的字符串 并删除其 最右位置上 的字符。如果存在某种方法能够使这三个字符串相等,请返回使它们相等所需的 最小 操作次数;否则,返回 -1。原创 2024-03-01 17:53:15 · 401 阅读 · 0 评论 -
2932. 找出强数对的最大异或值 I
给你一个下标从 0 开始的整数数组 nums 。如果一对整数 x 和 y 满足以下条件,则称其为 强数对 :|x - y|原创 2024-03-01 17:40:46 · 400 阅读 · 0 评论 -
1399. 统计最大组的数目
给你一个整数 n 。请你先求出从 1 到 n 的每个整数 10 进制表示下的数位和(每一位上的数字相加),然后把数位和相等的数字放到同一个组中。请你统计每个组中的数字数目,并返回数字数目并列最多的组有多少个。原创 2024-02-29 15:47:12 · 360 阅读 · 0 评论 -
419. 甲板上的战舰
给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量。战舰 只能水平或者垂直放置在 board 上。换句话说,战舰只能按 1 x k(1 行,k 列)或 k x 1(k 行,1 列)的形状建造,其中 k 可以是任意大小。两艘战舰之间至少有一个水平或垂直的空位分隔 (即没有相邻的战舰)。原创 2024-02-29 00:15:00 · 370 阅读 · 0 评论 -
331. 验证二叉树的前序序列化
例如,上面的二叉树可以被序列化为字符串 "9,3,4,#,#,1,#,#,2,#,6,#,#",其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算法。保证 每个以逗号分隔的字符或为一个整数或为一个表示 null 指针的 '#' 。原创 2024-02-28 00:15:00 · 359 阅读 · 0 评论 -
706. 设计哈希映射
🎈哈希表大家应该都经常用到吧,那么大家有没有想过哈希表是怎么实现的呢?今天让我们一起从一道简单的题目来初步了解一个哈希表的简单原理。原创 2024-02-28 00:15:00 · 944 阅读 · 0 评论 -
705. 设计哈希集合
不使用任何内建的哈希表库设计一个哈希集合(HashSet)。原创 2024-02-27 08:05:20 · 359 阅读 · 0 评论 -
2715. 执行可取消的延迟函数
给定一个函数 fn ,一个参数数组 args 和一个以毫秒为单位的超时时间 t ,返回一个取消函数 cancelFn 。在 cancelTimeMs 的延迟后,返回的取消函数 cancelFn 将被调用。setTimeout(cancelFn, cancelTimeMs)最初,函数 fn 的执行应该延迟 t 毫秒。如果在 t 毫秒的延迟之前调用了函数 cancelFn,它应该取消 fn 的延迟执行。否则,如果在指定的延迟 t 内没有调用 cancelFn,则应执行 fn,并使用提供的 args原创 2024-02-27 00:15:00 · 655 阅读 · 0 评论 -
2627. 函数防抖
请你编写一个函数,接收参数为另一个函数和一个以毫秒为单位的时间 t ,并返回该函数的 函数防抖 后的结果。函数防抖 方法是一个函数,它的执行被延迟了 t 毫秒,如果在这个时间窗口内再次调用它,它的执行将被取消。你编写的防抖函数也应该接收传递的参数。例如,假设 t = 50ms ,函数分别在 30ms 、 60ms 和 100ms 时调用。前两个函数调用将被取消,第三个函数调用将在 150ms 执行。如果改为 t = 35ms ,则第一个调用将被取消,第二个调用将在 95ms 执行,第三个调用将在 1原创 2024-02-26 11:42:04 · 358 阅读 · 0 评论 -
100224. 分割数组
给你一个长度为 偶数 的整数数组 nums 。你需要将这个数组分割成 nums1 和 nums2 两部分,要求:nums1.length == nums2.length == nums.length / 2 。nums1 应包含 互不相同 ****的元素。nums2也应包含 互不相同 的元素。如果能够分割数组就返回 true ,否则返回 false 。原创 2024-02-25 16:45:38 · 344 阅读 · 0 评论 -
619. 只出现一次的最大数字
找出表中出现次数为1次的最大数字。原创 2024-02-23 15:53:42 · 362 阅读 · 0 评论