![](https://img-blog.csdnimg.cn/b9c0e7be12424e1096b9b8c7b18eefa0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
LeetCode题解
文章平均质量分 52
关于一些LeetCode的题解
LatteCK
想要的东西都很贵,只能不断地努力奔跑
同是风华正茂,怎可甘拜下风
展开
-
LeetCode 1670. 设计前中后队列
1670. 设计前中后队列请你设计一个队列,支持在前,中,后三个位置的 push 和 pop 操作。请你完成 FrontMiddleBack 类:FrontMiddleBack() 初始化队列。void pushFront(int val) 将 val 添加到队列的 最前面 。void pushMiddle(int val) 将 val 添加到队列的 正中间 。void pushBack(int val) 将 val 添加到队里的 最后面 。int popFront() 将 最前面 的元素从原创 2022-02-17 22:02:47 · 118 阅读 · 0 评论 -
LeetCode 1669. 合并两个链表
1669. 合并两个链表给你两个链表 list1 和 list2 ,它们包含的元素分别为 n 个和 m 个。请你将 list1 中下标从 a 到 b 的全部节点都删除,并将list2 接在被删除节点的位置。下图中蓝色边和节点展示了操作后的结果:请你返回结果链表的头指针。示例 1:输入:list1 = [0,1,2,3,4,5], a = 3, b = 4, list2 = [1000000,1000001,1000002]输出:[0,1,2,1000000,1000001,1000002,原创 2022-02-17 21:13:49 · 71 阅读 · 0 评论 -
LeetCode 1668. 最大重复子字符串
1668. 最大重复子字符串给你一个字符串 sequence ,如果字符串 word 连续重复 k 次形成的字符串是 sequence 的一个子字符串,那么单词 word 的 重复值为 k 。单词 word 的 最****大重复值 是单词 word 在 sequence 中最大的重复值。如果 word 不是 sequence 的子串,那么重复值 k 为 0 。给你一个字符串 sequence 和 word ,请你返回 最大重复值 k 。示例 1:输入:sequence = "ababc", word原创 2022-02-17 20:48:43 · 573 阅读 · 0 评论 -
LeetCode 1664. 生成平衡数组的方案数
1664. 生成平衡数组的方案数给你一个整数数组 nums 。你需要选择 恰好 一个下标(下标从 0 开始)并删除对应的元素。请注意剩下元素的下标可能会因为删除操作而发生改变。比方说,如果 nums = [6,1,7,4,1] ,那么:选择删除下标 1 ,剩下的数组为 nums = [6,7,4,1] 。选择删除下标 2 ,剩下的数组为 nums = [6,1,4,1] 。选择删除下标 4 ,剩下的数组为 nums = [6,1,7,4] 。如果一个数组满足奇数下标元素的和与偶数下标元素的和原创 2022-02-17 20:37:54 · 336 阅读 · 0 评论 -
LeetCode 1663. 具有给定数值的最小字符串
1663. 具有给定数值的最小字符串小写字符 的 数值 是它在字母表中的位置(从 1 开始),因此 a 的数值为 1 ,b 的数值为 2 ,c 的数值为 3 ,以此类推。字符串由若干小写字符组成,字符串的数值 为各字符的数值之和。例如,字符串 "abe" 的数值等于 1 + 2 + 5 = 8 。给你两个整数 n 和 k 。返回 长度 等于 n 且 数值 等于 k 的 字典序最小 的字符串。注意,如果字符串 x 在字典排序中位于 y 之前,就认为 x 字典序比 y 小,有以下两种情况:x 是 y原创 2022-02-17 19:44:25 · 223 阅读 · 0 评论 -
LeetCode 1662. 检查两个字符串数组是否相等
1662. 检查两个字符串数组是否相等给你两个字符串数组 word1 和 word2 。如果两个数组表示的字符串相同,返回 true ;否则,返回 false 。数组表示的字符串 是由数组中的所有元素 按顺序 连接形成的字符串。示例 1:输入:word1 = ["ab", "c"], word2 = ["a", "bc"]输出:true解释:word1 表示的字符串为 "ab" + "c" -> "abc"word2 表示的字符串为 "a" + "bc" -> "abc"两个字原创 2022-02-17 19:27:24 · 93 阅读 · 0 评论 -
LeetCode 1160. 拼写单词
1160. 拼写单词给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写(指拼写词汇表中的一个单词)时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的 长度之和。示例 1:输入:words = ["cat","bt","hat","tree"], chars = "atach"输出:6原创 2022-02-16 23:43:24 · 76 阅读 · 0 评论 -
LeetCode 1218. 最长定差子序列
1218. 最长定差子序列给你一个整数数组 arr 和一个整数 difference,请你找出并返回 arr 中最长等差子序列的长度,该子序列中相邻元素之间的差等于 difference 。子序列 是指在不改变其余元素顺序的情况下,通过删除一些元素或不删除任何元素而从 arr 派生出来的序列。示例 1:输入:arr = [1,2,3,4], difference = 1输出:4解释:最长的等差子序列是 [1,2,3,4]。示例 2:输入:arr = [1,3,5,7], differenc原创 2022-02-16 23:37:27 · 92 阅读 · 0 评论 -
LeetCode 1217. 玩筹码
1217. 玩筹码有 n 个筹码。第 i 个芯片的位置是 position[i] 。我们需要把所有筹码移到同一个位置。在一步中,我们可以将第 i 个芯片的位置从 position[i] 改变为:position[i] + 2 或 position[i] - 2 ,此时 cost = 0position[i] + 1 或 position[i] - 1 ,此时 cost = 1返回将所有筹码移动到同一位置上所需要的 最小代价 。示例 1:输入:position = [1,2,3]输出:1原创 2022-02-16 23:33:52 · 110 阅读 · 0 评论 -
LeetCode 1209. 删除字符串中的所有相邻重复项 II
1209. 删除字符串中的所有相邻重复项 II给你一个字符串 s,「k 倍重复项删除操作」将会从 s 中选择 k 个相邻且相等的字母,并删除它们,使被删去的字符串的左侧和右侧连在一起。你需要对 s 重复进行无限次这样的删除操作,直到无法继续为止。在执行完所有删除操作后,返回最终得到的字符串。本题答案保证唯一。示例 1:输入:s = "abcd", k = 2输出:"abcd"解释:没有要删除的内容。示例 2:输入:s = "deeedbbcccbdaa", k = 3输出:"aa"原创 2022-02-16 23:29:19 · 195 阅读 · 0 评论 -
LeetCode 1208. 尽可能使字符串相等
1208. 尽可能使字符串相等给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的最大长度。如果 s 中没有子字符串可以转化成 t 中对应的子字符串,则原创 2022-02-16 23:22:07 · 88 阅读 · 0 评论 -
LeetCode 1207. 独一无二的出现次数
1207. 独一无二的出现次数给你一个整数数组 arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回 true;否则返回 false。示例 1:输入:arr = [1,2,2,1,1,3]输出:true解释:在该数组中,1 出现了 3 次,2 出现了 2 次,3 只出现了 1 次。没有两个数的出现次数相同。示例 2:输入:arr = [1,2]输出:false示例 3:输入:arr = [-3,0,1,-3,1,1,1,-3,10,0]输出:tr原创 2022-02-16 23:18:18 · 61 阅读 · 0 评论 -
LeetCode 1400. 构造 K 个回文字符串
1400. 构造 K 个回文字符串给你一个字符串 s 和一个整数 k 。请你用 s 字符串中 所有字符 构造 k 个非空 回文串 。如果你可以用 s 中所有字符构造 k 个回文字符串,那么请你返回 True ,否则返回 False 。示例 1:输入:s = "annabelle", k = 2输出:true解释:可以用 s 中所有字符构造 2 个回文字符串。一些可行的构造方案包括:"anna" + "elble","anbna" + "elle","anellena" + "b"示例 2:原创 2022-02-15 23:11:42 · 325 阅读 · 0 评论 -
LeetCode 1399. 统计最大组的数目
1399. 统计最大组的数目给你一个整数 n 。请你先求出从 1 到 n 的每个整数 10 进制表示下的数位和(每一位上的数字相加),然后把数位和相等的数字放到同一个组中。请你统计每个组中的数字数目,并返回数字数目并列最多的组有多少个。示例 1:输入:n = 13输出:4解释:总共有 9 个组,将 1 到 13 按数位求和后这些组分别是:[1,10],[2,11],[3,12],[4,13],[5],[6],[7],[8],[9]。总共有 4 个组拥有的数字并列最多。示例 2:输入:n原创 2022-02-15 23:07:54 · 69 阅读 · 0 评论 -
LetCode 1829. 每个查询的最大异或值
1829. 每个查询的最大异或值给你一个 有序 数组 nums ,它由 n 个非负整数组成,同时给你一个整数 maximumBit 。你需要执行以下查询 n 次:找到一个非负整数 k < 2maximumBit ,使得 nums[0] XOR nums[1] XOR ... XOR nums[nums.length-1] XOR k 的结果 最大化 。k 是第 i 个查询的答案。从当前数组 nums 删除 最后 一个元素。请你返回一个数组 answer ,其中 answer[i]是第 i原创 2022-02-15 23:02:06 · 291 阅读 · 0 评论 -
LeetCode 1828. 统计一个圆中点的数目
1828. 统计一个圆中点的数目给你一个数组 points ,其中 points[i] = [xi, yi] ,表示第 i 个点在二维平面上的坐标。多个点可能会有 相同 的坐标。同时给你一个数组 queries ,其中 queries[j] = [xj, yj, rj] ,表示一个圆心在 (xj, yj) 且半径为 rj 的圆。对于每一个查询 queries[j] ,计算在第 j 个圆 内 点的数目。如果一个点在圆的 边界上 ,我们同样认为它在圆 内 。请你返回一个数组 answer ,其中 ans转载 2022-02-15 22:57:57 · 119 阅读 · 0 评论 -
LeetCode 1827. 最少操作使数组递增
1827. 最少操作使数组递增给你一个整数数组 nums (下标从 0 开始)。每一次操作中,你可以选择数组中一个元素,并将它增加 1 。比方说,如果 nums = [1,2,3] ,你可以选择增加 nums[1] 得到 nums = [1,**3**,3] 。请你返回使 nums 严格递增 的 最少 操作次数。我们称数组 nums 是 严格递增的 ,当它满足对于所有的 0 <= i < nums.length - 1 都有 nums[i] < nums[i+1] 。一个长度为原创 2022-02-15 22:54:22 · 439 阅读 · 0 评论 -
LeetCode 1380. 矩阵中的幸运数
1380. 矩阵中的幸运数给你一个 m * n 的矩阵,矩阵中的数字 各不相同 。请你按 任意 顺序返回矩阵中的所有幸运数。幸运数是指矩阵中满足同时下列两个条件的元素:在同一行的所有元素中最小在同一列的所有元素中最大示例 1:输入:matrix = [[3,7,8],[9,11,13],[15,16,17]]输出:[15]解释:15 是唯一的幸运数,因为它是其所在行中的最小值,也是所在列中的最大值。示例 2:输入:matrix = [[1,10,4,2],[9,3,8,7],[15原创 2022-02-15 22:45:28 · 75 阅读 · 0 评论 -
LeetCode 1658. 将 x 减到 0 的最小操作数
1658. 将 x 减到 0 的最小操作数给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。示例 1:输入:nums = [1,1,4,2,3], x = 5输出:2解释:最佳解决方案是移除后两个元素,将 x 减到 0 。示例 2:输入:nums = [5,6,7,8,9], x =原创 2022-02-15 00:06:12 · 223 阅读 · 0 评论 -
LeetCode 1657. 确定两个字符串是否接近
1657. 确定两个字符串是否接近如果可以使用以下操作从一个字符串得到另一个字符串,则认为两个字符串 接近 :操作 1:交换任意两个现有字符。例如,a**b**cd**e** -> a**e**cd**b**操作 2:将一个现有字符的每次出现转换为另一个现有字符,并对另一个字符执行相同的操作。例如,**aa**c**abb** -> **bb**c**baa**(所有 a 转化为 b ,而所有的 b 转换为 a )你可以根据需要对任意一个字符串多次使用原创 2022-02-14 23:12:36 · 104 阅读 · 0 评论 -
LeetCode 1656. 设计有序流
1656. 设计有序流有 n 个 (id, value) 对,其中 id 是 1 到 n 之间的一个整数,value 是一个字符串。不存在 id 相同的两个 (id, value) 对。设计一个流,以 任意 顺序获取 n 个 (id, value) 对,并在多次调用时 按 id 递增的顺序 返回一些值。实现 OrderedStream 类:OrderedStream(int n) 构造一个能接收 n 个值的流,并将当前指针 ptr 设为 1 。String[] insert(int id,原创 2022-02-14 22:58:09 · 121 阅读 · 0 评论 -
LeetCode 1647. 字符频次唯一的最小删除次数
1647. 字符频次唯一的最小删除次数如果字符串 s 中 不存在 两个不同字符 频次 相同的情况,就称 s 是 优质字符串 。给你一个字符串 s,返回使 s 成为 优质字符串 需要删除的 最小 字符数。字符串中字符的 频次 是该字符在字符串中的出现次数。例如,在字符串 "aab" 中,'a' 的频次是 2,而 'b' 的频次是 1 。示例 1:输入:s = "aab"输出:0解释:s 已经是优质字符串。示例 2:输入:s = "aaabbbcc"输出:2解释:可以删除两个 'b' ,原创 2022-02-14 22:23:03 · 348 阅读 · 1 评论 -
LeetCode 1646. 获取生成数组中的最大值
1646. 获取生成数组中的最大值给你一个整数 n 。按下述规则生成一个长度为 n + 1 的数组 nums :nums[0] = 0nums[1] = 1当 2 <= 2 * i <= n 时,nums[2 * i] = nums[i]当 2 <= 2 * i + 1 <= n 时,nums[2 * i + 1] = nums[i] + nums[i + 1]返回生成数组 nums 中的 最大 值。示例 1:输入:n = 7输出:3解释:根据规则: nu原创 2022-02-14 22:10:06 · 354 阅读 · 0 评论 -
LeetCode 540. 有序数组中的单一元素
540. 有序数组中的单一元素给你一个仅由整数组成的有序数组,其中每个元素都会出现两次,唯有一个数只会出现一次。请你找出并返回只出现一次的那个数。你设计的解决方案必须满足 O(log n) 时间复杂度和 O(1) 空间复杂度。示例 1:输入: nums = [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: nums = [3,3,7,7,10,11,11]输出: 10提示:1 <= nums.length <= 1050 <= nums[i]原创 2022-02-14 20:15:03 · 238 阅读 · 0 评论 -
LeetCode 8. 字符串转换整数 (atoi)
8. 字符串转换整数 (atoi)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:读入字符串并丢弃无用的前导空格检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步骤读入的原创 2022-02-14 01:21:34 · 130 阅读 · 0 评论 -
LeetCode 1598. 文件夹操作日志搜集器
1598. 文件夹操作日志搜集器每当用户执行变更文件夹操作时,LeetCode 文件系统都会保存一条日志记录。下面给出对变更操作的说明:"../" :移动到当前文件夹的父文件夹。如果已经在主文件夹下,则 继续停留在当前文件夹 。"./" :继续停留在当前文件夹**。**"x/" :移动到名为 x 的子文件夹中。题目数据 保证总是存在文件夹 x 。给你一个字符串列表 logs ,其中 logs[i] 是用户在 ith 步执行的操作。文件系统启动时位于主文件夹,然后执行 logs 中的操作。原创 2022-02-14 01:15:57 · 75 阅读 · 0 评论 -
LeetCode 1189. “气球” 的最大数量
1189. “气球” 的最大数量给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 “balloon”(气球)。字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 “balloon”。示例 1:输入:text = "nlaebolko"输出:1示例 2:输入:text = "loonbalxballpoon"输出:2示例 3:输入:text = "leetcode"输出:0提示:1 <= text.leng原创 2022-02-14 00:46:56 · 98 阅读 · 0 评论 -
LeetCode 6006. 拿出最少数目的魔法豆
6006. 拿出最少数目的魔法豆给你一个 正 整数数组 beans ,其中每个整数表示一个袋子里装的魔法豆的数目。请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少 还有 一颗 魔法豆的袋子)魔法豆的数目 相等 。一旦魔法豆从袋子中取出,你不能将它放到任何其他的袋子中。请你返回你需要拿出魔法豆的 最少数目。示例 1:输入:beans = [4,1,6,5]输出:4解释:- 我们从有 1 个魔法豆的袋子中拿出 1 颗魔法豆。 剩下袋子中魔法豆的数目为:[原创 2022-02-14 00:27:21 · 207 阅读 · 0 评论 -
LeetCode 6005. 使数组变成交替数组的最少操作数
6005. 使数组变成交替数组的最少操作数给你一个下标从 0 开始的数组 nums ,该数组由 n 个正整数组成。如果满足下述条件,则数组 nums 是一个 交替数组 :nums[i - 2] == nums[i] ,其中 2 <= i <= n - 1 。nums[i - 1] != nums[i] ,其中 1 <= i <= n - 1 。在一步 操作 中,你可以选择下标 i 并将 nums[i] 更改 为 任一 正整数。返回使数组变成交替数组的 最少操作数 。原创 2022-02-14 00:00:15 · 930 阅读 · 0 评论 -
LeetCode 6004. 得到 0 的操作数
6004. 得到 0 的操作数给你两个 非负 整数 num1 和 num2 。每一步 操作 中,如果 num1 >= num2 ,你必须用 num1 减 num2 ;否则,你必须用 num2 减 num1 。例如,num1 = 5 且 num2 = 4 ,应该用 num1 减 num2 ,因此,得到 num1 = 1 和 num2 = 4 。然而,如果 num1 = 4且 num2 = 5 ,一步操作后,得到 num1 = 4 和 num2 = 1 。返回使 num1 = 0 或 num2原创 2022-02-13 23:48:48 · 431 阅读 · 0 评论 -
LeetCode 1641. 统计字典序元音字符串的数目
1641. 统计字典序元音字符串的数目给你一个整数 n,请返回长度为 n 、仅由元音 (a, e, i, o, u) 组成且按 字典序排列 的字符串数量。字符串 s 按 字典序排列 需要满足:对于所有有效的 i,s[i] 在字母表中的位置总是与 s[i+1] 相同或在 s[i+1] 之前。示例 1:输入:n = 1输出:5解释:仅由元音组成的 5 个字典序字符串为 ["a","e","i","o","u"]示例 2:输入:n = 2输出:15解释:仅由元音组成的 15 个字典序字符串为原创 2022-02-12 21:44:18 · 315 阅读 · 0 评论 -
LeetCode 1640. 能否连接形成数组
1640. 能否连接形成数组给你一个整数数组 arr ,数组中的每个整数 互不相同 。另有一个由整数数组构成的数组 pieces,其中的整数也 互不相同 。请你以 任意顺序 连接 pieces 中的数组以形成 arr 。但是,不允许 对每个数组 pieces[i] 中的整数重新排序。如果可以连接 pieces 中的数组形成 arr ,返回 true ;否则,返回 false 。示例 1:输入:arr = [85], pieces = [[85]]输出:true示例 2:输入:arr = [1原创 2022-02-12 21:29:56 · 129 阅读 · 0 评论 -
LeetCode 1638. 统计只差一个字符的子串数目
1638. 统计只差一个字符的子串数目给你两个字符串 s 和 t ,请你找出 s 中的非空子串的数目,这些子串满足替换 一个不同字符 以后,是 t 串的子串。换言之,请你找到 s 和 t 串中 恰好 只有一个字符不同的子字符串对的数目。比方说, "**compute**r" 和 "**computa**tion" 加粗部分只有一个字符不同: 'e'/'a' ,所以这一对子字符串会给答案加 1 。请你返回满足上述条件的不同子字符串对数目。一个 子字符串 是一个字符串中连续的字符。示例 1:输入:s原创 2022-02-12 21:19:40 · 118 阅读 · 0 评论 -
LeetCode 1637. 两点之间不包含任何点的最宽垂直面积
1637. 两点之间不包含任何点的最宽垂直面积给你 n 个二维平面上的点 points ,其中 points[i] = [xi, yi] ,请你返回两点之间内部不包含任何点的 最宽垂直面积 的宽度。垂直面积 的定义是固定宽度,而 y 轴上无限延伸的一块区域(也就是高度为无穷大)。 最宽垂直面积 为宽度最大的一个垂直面积。请注意,垂直区域 边上 的点 不在 区域内。示例 1:输入:points = [[8,7],[9,9],[7,4],[9,7]]输出:1解释:红色区域和蓝色区域都是最优区域。原创 2022-02-12 20:58:26 · 217 阅读 · 0 评论 -
LeetCode 1636. 按照频率将数组升序排序
1636. 按照频率将数组升序排序给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。请你返回排序后的数组。示例 1:输入:nums = [1,1,2,2,2,3]输出:[3,1,1,2,2,2]解释:'3' 频率为 1,'1' 频率为 2,'2' 频率为 3 。示例 2:输入:nums = [2,3,1,3,2]输出:[1,3,3,2,2]解释:'2' 和 '3' 频率都为 2 ,所以它们之间按照数值本身降原创 2022-02-12 20:49:26 · 76 阅读 · 0 评论 -
LeetCode 1020. 飞地的数量
1020. 飞地的数量给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的陆地单元格或跨过 grid 的边界。返回网格中 无法 在任意次数的移动中离开网格边界的陆地单元格的数量。示例 1:输入:grid = [[0,0,0,0],[1,0,1,0],[0,1,1,0],[0,0,0,0]]输出:3解释:有三个 1 被 0 包围。一个 1 没有被包围,因为它在边界上。示原创 2022-02-12 20:36:20 · 478 阅读 · 0 评论 -
LeetCode 1584. 连接所有点的最小费用
1584. 连接所有点的最小费用给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] = [xi, yi] 。连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| + |yi - yj| ,其中 |val| 表示 val 的绝对值。请你返回将所有点连接的最小总费用。只有任意两点之间 有且仅有 一条简单路径时,才认为所有点都已连接。示例 1:输入:points = [[0,0],[2,2],[3,10],[5,2],[7原创 2022-02-12 00:43:01 · 104 阅读 · 0 评论 -
LeetCode 1566. 重复至少 K 次且长度为 M 的模式
1566. 重复至少 K 次且长度为 M 的模式给你一个正整数数组 arr,请你找出一个长度为 m 且在数组中至少重复 k 次的模式。模式 是由一个或多个值组成的子数组(连续的子序列),连续 重复多次但 不重叠 。 模式由其长度和重复次数定义。如果数组中存在至少重复 k 次且长度为 m 的模式,则返回 true ,否则返回 false 。示例 1:输入:arr = [1,2,4,4,4,4], m = 1, k = 3输出:true解释:模式 (4) 的长度为 1 ,且连续重复 4 次。注意,原创 2022-02-12 00:27:27 · 78 阅读 · 0 评论 -
LeetCode 1558. 得到目标数组的最少函数调用次数
1558. 得到目标数组的最少函数调用次数给你一个与 nums 大小相同且初始值全为 0 的数组 arr ,请你调用以上函数得到整数数组 nums 。请你返回将 arr 变成 nums 的最少函数调用次数。答案保证在 32 位有符号整数以内。示例 1:输入:nums = [1,5]输出:5解释:给第二个数加 1 :[0, 0] 变成 [0, 1] (1 次操作)。将所有数字乘以 2 :[0, 1] -> [0, 2] -> [0, 4] (2 次操作)。给两个数字都加 1 :原创 2022-02-12 00:09:25 · 338 阅读 · 0 评论 -
LeetCode 1557. 可以到达所有点的最少点数目
1557. 可以到达所有点的最少点数目给你一个 有向无环图 , n 个节点编号为 0 到 n-1 ,以及一个边数组 edges ,其中 edges[i] = [fromi, toi] 表示一条从点 fromi 到点 toi 的有向边。找到最小的点集使得从这些点出发能到达图中所有点。题目保证解存在且唯一。你可以以任意顺序返回这些节点编号。示例 1:输入:n = 6, edges = [[0,1],[0,2],[2,5],[3,4],[4,2]]输出:[0,3]解释:从单个节点出发无法到达所有节原创 2022-02-11 23:36:55 · 97 阅读 · 0 评论