![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
文章平均质量分 85
Zephyr丶J
这个作者很懒,什么都没留下…
展开
-
LeetCode 1641. 统计字典序元音字符串的数目 / 1637. 两点之间不包含任何点的最宽垂直区域 / 1053. 交换一次的先前排列
LeetCode 1641. 统计字典序元音字符串的数目 / 1637. 两点之间不包含任何点的最宽垂直区域 / 1053. 交换一次的先前排列原创 2023-04-03 15:25:13 · 264 阅读 · 1 评论 -
LeetCode 1615. 最大网络秩 / 2389. 和有限的最长子序列 / 1626. 无矛盾的最佳球队(排序+动态规划)
LeetCode 1615. 最大网络秩 / 2389. 和有限的最长子序列 / 1626. 无矛盾的最佳球队(排序+动态规划)原创 2023-03-22 10:15:27 · 219 阅读 · 0 评论 -
LeetCode1590. 使数组和能被 P 整除 / 2383. 赢得比赛需要的最少训练时长 / 1605. 给定行和列的和求可行矩阵
LeetCode1590. 使数组和能被 P 整除 / 2383. 赢得比赛需要的最少训练时长 / 1605. 给定行和列的和求可行矩阵原创 2023-03-15 10:08:49 · 310 阅读 · 0 评论 -
LeetCode 1662. 检查两个字符串数组是否相等 / 795. 区间子数组个数 / 剑指 Offer 47. 礼物的最大价值
LeetCode 1662. 检查两个字符串数组是否相等 / 795. 区间子数组个数 / 剑指 Offer 47. 礼物的最大价值原创 2023-03-08 15:25:25 · 400 阅读 · 0 评论 -
LeetCode 904. 水果成篮 / 907. 子数组的最小值之和(单调栈+动态规划) / 481. 神奇字符串
LeetCode 904. 水果成篮 / 907. 子数组的最小值之和(单调栈+动态规划) / 481. 神奇字符串原创 2022-10-31 10:02:04 · 325 阅读 · 0 评论 -
LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等 / 817. 链表组件 / 769. 最多能完成排序的块
LeetCode 1790. 仅执行一次字符串交换能否使两个字符串相等 / 817. 链表组件 / 769. 最多能完成排序的块原创 2022-10-13 11:15:00 · 266 阅读 · 0 评论 -
LeetCode 870. 优势洗牌(根据数值对索引排序)/ 856. 括号的分数(栈) / 801. 使序列递增的最小交换次数(动态规划)
LeetCode 870. 优势洗牌(根据数值对索引排序)/ 856. 括号的分数(栈) / 801. 使序列递增的最小交换次数(动态规划)原创 2022-10-10 12:11:14 · 264 阅读 · 0 评论 -
LeetCode 1624. 两个相同字符之间的最长子字符串 / 698. 划分为k个相等的子集 / 面试题 01.08. 零矩阵 / 1694. 重新格式化电话号码
LeetCode 1624. 两个相同字符之间的最长子字符串 / 698. 划分为k个相等的子集 / 面试题 01.08. 零矩阵 / 1694. 重新格式化电话号码原创 2022-10-08 09:09:33 · 130 阅读 · 0 评论 -
LeetCode 1475. 商品折扣后的最终价格 / 687. 最长同值路径 / 652. 寻找重复的子树
LeetCode 1475. 商品折扣后的最终价格 / 687. 最长同值路径 / 652. 寻找重复的子树原创 2022-09-05 11:11:52 · 173 阅读 · 0 评论 -
LeetCode 1470. 重新排列数组 / 654. 最大二叉树 / 998. 最大二叉树 II
LeetCode 1470. 重新排列数组 / 654. 最大二叉树 / 998. 最大二叉树 II原创 2022-09-01 15:36:34 · 225 阅读 · 0 评论 -
LeetCode 1460. 通过翻转子数组使两个数组相等 / 658. 找到 K 个最接近的元素 / 1464. 数组中两元素的最大乘积
LeetCode 1460. 通过翻转子数组使两个数组相等 / 658. 找到 K 个最接近的元素 / 1464. 数组中两元素的最大乘积原创 2022-08-26 09:40:12 · 119 阅读 · 0 评论 -
LeetCode 1224. 最大相等频率 / 1450. 在既定时间做作业的学生人数 / 655. 输出二叉树
LeetCode 1224. 最大相等频率 / 1450. 在既定时间做作业的学生人数 / 655. 输出二叉树原创 2022-08-22 10:10:32 · 390 阅读 · 0 评论 -
LeetCode 641. 设计循环双端队列 / 1656. 设计有序流 / 302. 层数最深叶子节点的和
LeetCode 641. 设计循环双端队列 / 1656. 设计有序流 / 302. 层数最深叶子节点的和原创 2022-08-17 09:05:17 · 146 阅读 · 0 评论 -
LeetCode 面试题 17.11. 单词距离 / 1021. 删除最外层的括号 / 468. 验证IP地址
面试题 17.11. 单词距离2022.5.27 每日一题题目描述有个内含单词的超大文本文件,给定任意两个不同的单词,找出在这个文件中这两个单词的最短距离(相隔单词数)。如果寻找过程在这个文件中会重复多次,而每次寻找的单词不同,你能对此优化吗?示例:输入:words = [“I”,“am”,“a”,“student”,“from”,“a”,“university”,“in”,“a”,“city”], word1 = “a”, word2 = “student”输出:1提示:words.原创 2022-05-29 18:17:42 · 123 阅读 · 0 评论 -
LeetCode 965. 单值二叉树 / 467. 环绕字符串中唯一的子字符串 / 699. 掉落的方块(线段树后面再写)
965. 单值二叉树2022.5.24 每日一题题目描述如果二叉树每个节点都具有相同的值,那么该二叉树就是单值二叉树。只有给定的树是单值二叉树时,才返回 true;否则返回 false。示例 1:输入:[1,1,1,1,1,null,1]输出:true示例 2:输入:[2,2,2,5,2]输出:false提示:给定树的节点数范围是 [1, 100]。每个节点的值都是整数,范围为 [0, 99] 。来源:力扣(LeetCode)链接:https://leetcod原创 2022-05-27 21:44:51 · 101 阅读 · 0 评论 -
LeetCode 961. 在长度 2N 的数组中找出重复 N 次的元素 / 464. 我能赢吗(博弈) / 675. 为高尔夫比赛砍树
961. 在长度 2N 的数组中找出重复 N 次的元素2022.5.21 每日一题题目描述给你一个整数数组 nums ,该数组具有以下属性:nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。示例 1:输入:nums = [1,2,3,3]输出:3示例 2:输入:nums = [2,1,2,5,3,2]输出:2示例 3:输入:nums = [5,1,5,2,5原创 2022-05-24 09:39:29 · 125 阅读 · 0 评论 -
LeetCode 668. 乘法表中第k小的数 / 462. 最少移动次数使数组元素相等 II / 436. 寻找右区间
668. 乘法表中第k小的数2022.5.18 每日一题题目描述几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第k小的数字吗?给定高度m 、宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k 小的数字。例 1:输入: m = 3, n = 3, k = 5输出: 3解释:乘法表:1 2 32 4 63 6 9第5小的数字是 3 (1, 2, 2, 3, 3).例 2:输入: m = 2, n = 3, k = 6输出: 6解释:乘法表:1原创 2022-05-20 10:51:17 · 112 阅读 · 0 评论 -
LeetCode 812. 最大三角形面积(再次用到凸包的Andrew算法) / 面试题 04.06. 后继者 / 953. 验证外星语词典
812. 最大三角形面积2022.5.15 每日一题题目描述给定包含多个点的集合,从其中取三个点组成三角形,返回能组成的最大三角形的面积。示例:输入: points = [[0,0],[0,1],[1,0],[0,2],[2,0]]输出: 2解释: 这五个点如下图所示。组成的橙色三角形是最大的,面积为2。注意:3 <= points.length <= 50.不存在重复的点。-50 <= points[i][j] <= 50.结果误差值在 10^-6原创 2022-05-17 09:34:38 · 141 阅读 · 0 评论 -
LeetCode 944. 删列造序 / 面试题 01.05. 一次编辑 / 691. 贴纸拼词(记忆化搜索+状压dp)
944. 删列造序2022.5.12 每日一题题目描述给你由 n 个小写字母字符串组成的数组 strs,其中每个字符串长度相等。这些字符串可以每个一行,排成一个网格。例如,strs = [“abc”, “bce”, “cae”] 可以排列为:abcbcecae你需要找出并删除 不是按字典序升序排列的 列。在上面的例子(下标从 0 开始)中,列 0(‘a’, ‘b’, ‘c’)和列 2(‘c’, ‘e’, ‘e’)都是按升序排列的,而列 1(‘b’, ‘c’, ‘a’)不是,所以要删除列 1原创 2022-05-14 19:05:47 · 213 阅读 · 0 评论 -
LeetCode 942. 增减字符串匹配 / 1728. 猫和老鼠 II(博弈,不会) / 449. 序列化和反序列化二叉搜索树
942. 增减字符串匹配2022.5.9 每日一题题目描述由范围 [0,n] 内所有整数组成的 n + 1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中:如果 perm[i] < perm[i + 1] ,那么 s[i] == ‘I’如果 perm[i] > perm[i + 1] ,那么 s[i] == ‘D’给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有效排列perm,则返回其中 任何一个 。示例 1:输入:s = “IDID”输出:[原创 2022-05-12 11:29:39 · 171 阅读 · 0 评论 -
LeetCode 933. 最近的请求次数 / 433. 最小基因变化 / 442. 数组中重复的数据
933. 最近的请求次数2022.5.6 每日一题题目描述写一个 RecentCounter 类来计算特定时间范围内最近的请求。请你实现 RecentCounter 类:RecentCounter() 初始化计数器,请求数为 0 。int ping(int t) 在时间 t 添加一个新请求,其中 t 表示以毫秒为单位的某个时间,并返回过去 3000 毫秒内发生的所有请求数(包括新请求)。确切地说,返回在 [t-3000, t] 内发生的请求数。保证 每次对 ping 的调用都使用比之前更大的原创 2022-05-09 02:35:31 · 122 阅读 · 0 评论 -
LeetCode 908. 最小差值 I / 1305. 两棵二叉搜索树中的所有元素 / 591. 标签验证器
908. 最小差值 I2022.4.30 每日一题题目描述给你一个整数数组 nums,和一个整数 k 。在一个操作中,您可以选择 0 <= i < nums.length 的任何索引 i 。将 nums[i] 改为 nums[i] + x ,其中 x 是一个范围为 [-k, k] 的整数。对于每个索引 i ,最多 只能 应用 一次 此操作。nums 的 分数 是 nums 中最大和最小元素的差值。在对 nums 中的每个索引最多应用一次上述操作后,返回 nums 的最低 分数 。原创 2022-05-05 20:40:08 · 153 阅读 · 0 评论 -
LeetCode 937. 重新排列日志文件 / 1823. 找出游戏的获胜者(约瑟夫环问题) / 713. 乘积小于 K 的子数组
937. 重新排列日志文件2022.5.3 每日一题题目描述给你一个日志数组 logs。每条日志都是以空格分隔的字串,其第一个字为字母与数字混合的 标识符 。有两种不同类型的日志:字母日志:除标识符之外,所有字均由小写字母组成数字日志:除标识符之外,所有字均由数字组成请按下述规则将日志重新排序:所有 字母日志 都排在 数字日志 之前。字母日志 在内容不同时,忽略标识符后,按内容字母顺序排序;在内容相同时,按标识符排序。数字日志 应该保留原来的相对顺序。返回日志的最终顺序。示例原创 2022-05-05 11:45:32 · 111 阅读 · 0 评论 -
LeetCode 417. 太平洋大西洋水流问题(多源bfs) / 905. 按奇偶排序数组 / 427. 建立四叉树(dfs+二维前缀和)
417. 太平洋大西洋水流问题2022.4.27 每日一题题目描述有一个 m × n 的矩形岛屿,与 太平洋 和 大西洋 相邻。 “太平洋” 处于大陆的左边界和上边界,而 “大西洋” 处于大陆的右边界和下边界。这个岛被分割成一个由若干方形单元格组成的网格。给定一个 m x n 的整数矩阵 heights , heights[r][c] 表示坐标 (r, c) 上单元格 高于海平面的高度 。岛上雨水较多,如果相邻单元格的高度 小于或等于 当前单元格的高度,雨水可以直接向北、南、东、西流向相邻单元格。原创 2022-04-29 19:01:20 · 345 阅读 · 0 评论 -
LeetCode 824. 山羊拉丁文 / 396. 旋转函数 / 587. 安装栅栏(不会,经典凸包问题,学)
824. 山羊拉丁文2022.4.21 每日一题题目描述给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。例如,单词 “apple” 变为 “applema” 。如果单词以辅音字母开头(即,非元音字母),移除第原创 2022-04-27 19:59:03 · 267 阅读 · 0 评论 -
LeetCode 868. 二进制间距 / 398. 随机数索引(水塘抽样) / 883. 三维形体投影面积
868. 二进制间距2022.4.24 每日一题题目描述给定一个正整数 n,找到并返回 n 的二进制表示中两个 相邻 1 之间的 最长距离 。如果不存在两个相邻的 1,返回 0 。如果只有 0 将两个 1 分隔开(可能不存在 0 ),则认为这两个 1 彼此 相邻 。两个 1 之间的距离是它们的二进制表示中位置的绝对差。例如,“1001” 中的两个 1 的距离为 3 。示例 1:输入:n = 22输出:2解释:22 的二进制是 “10110” 。在 22 的二进制表示中,有三个 1,组成两原创 2022-04-26 11:28:23 · 116 阅读 · 0 评论 -
LeetCode 386. 字典序排数 / 821. 字符的最短距离 / 388. 文件的最长绝对路径
386. 字典序排数2022.4.18 每日一题,毕业时间突然提前一个月,懵了…题目描述给你一个整数 n ,按字典序返回范围 [1, n] 内所有整数。你必须设计一个时间复杂度为 O(n) 且使用 O(1) 额外空间的算法。示例 1:输入:n = 13输出:[1,10,11,12,13,2,3,4,5,6,7,8,9]示例 2:输入:n = 2输出:[1,2]提示:1 <= n <= 5 * 10^4来源:力扣(LeetCode)链接:https://le原创 2022-04-20 09:45:28 · 115 阅读 · 0 评论 -
LeetCode 385. 迷你语法分析器 / 479. 最大回文数乘积 / 819. 最常见的单词
385. 迷你语法分析器2022.4.15 每日一题题目描述给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。列表中的每个元素只可能是整数或整数嵌套列表示例 1:输入:s = “324”,输出:324解释:你应该返回一个 NestedInteger 对象,其中只包含整数值 324。示例 2:输入:s = “[123,[456,[789]]]”,输出:[123,[456,[789]]]解释:返回一个 NestedI原创 2022-04-17 02:38:18 · 260 阅读 · 0 评论 -
LeetCode 806. 写字符串需要的行数 / 380. O(1) 时间插入、删除和获取随机元素 / 1672. 最富有客户的资产总量
806. 写字符串需要的行数2022.4.12 每日一题题目描述我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在回答两个问题:至少多少行能放下S,以及最后一行使用的宽度是多少个单位?将原创 2022-04-14 00:13:23 · 80 阅读 · 0 评论 -
LeetCode 728. 自除数 / 954. 二倍数对数组 / 420. 强密码检验器
728. 自除数2022.3.31 每日一题题目描述自除数 是指可以被它包含的每一位数整除的数。例如,128 是一个 自除数 ,因为 128 % 1 == 0,128 % 2 == 0,128 % 8 == 0。自除数 不允许包含 0 。给定两个整数 left 和 right ,返回一个列表,列表的元素是范围 [left, right] 内所有的 自除数 。示例 1:输入:left = 1, right = 22输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 1原创 2022-04-11 21:20:30 · 678 阅读 · 0 评论 -
LeetCode 780. 到达终点 / 804. 唯一摩尔斯密码词 / 357. 统计各位数字都不同的数字个数
780. 到达终点2022.4.9 每日一题题目描述给定四个整数 sx , sy ,tx 和 ty,如果通过一系列的转换可以从起点 (sx, sy) 到达终点 (tx, ty),则返回 true,否则返回 false。从点 (x, y) 可以转换到 (x, x+y) 或者 (x+y, y)。示例 1:输入: sx = 1, sy = 1, tx = 3, ty = 5输出: true解释:可以通过以下一系列转换从起点转换到终点:(1, 1) -> (1, 2)(1, 2) -原创 2022-04-11 10:41:43 · 723 阅读 · 0 评论 -
LeetCode 310. 最小高度树(找树中的最长路径) / 796. 旋转字符串 / 429. N 叉树的层序遍历
310. 最小高度树2022.4.6 每日一题题目描述树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。给你一棵包含 n 个节点的树,标记为 0 到 n - 1 。给定数字 n 和一个有 n - 1 条无向边的 edges 列表(每一个边都是一对标签),其中 edges[i] = [ai, bi] 表示树中节点 ai 和 bi 之间存在一条无向边。可选择树中任何一个节点作为根。当选择节点 x 作为根节点时,设结果树的高度为 h 。在所有可能的树原创 2022-04-09 11:11:25 · 716 阅读 · 0 评论 -
LeetCode 744. 寻找比目标字母大的最小字母 / 307. 区域和检索 - 数组可修改 / 762. 二进制表示中质数个计算置位
744. 寻找比目标字母大的最小字母2022.4.3 每日一题题目描述给你一个排序后的字符列表 letters ,列表中只包含小写英文字母。另给出一个目标字母 target,请你寻找在这一有序列表里比目标字母大的最小字母。在比较时,字母是依序循环出现的。举个例子:如果目标字母 target = ‘z’ 并且字符列表为 letters = [‘a’, ‘b’],则答案返回 ‘a’示例 1:输入: letters = [“c”, “f”, “j”],target = “a”输出: “c”示原创 2022-04-09 11:02:34 · 120 阅读 · 0 评论 -
LeetCode 693. 交替位二进制数 / 2024. 考试的最大困扰度 / 1606. 找到处理最多请求的服务器
693. 交替位二进制数2022.3.28 每日一题题目描述给定一个正整数,检查它的二进制表示是否总是 0、1 交替出现:换句话说,就是二进制表示中相邻两位的数字永不相同。示例 1:输入:n = 5输出:true解释:5 的二进制表示是:101示例 2:输入:n = 7输出:false解释:7 的二进制表示是:111.示例 3:输入:n = 11输出:false解释:11 的二进制表示是:1011.提示:1 <= n <= 2^31 - 1来源原创 2022-04-07 11:08:13 · 536 阅读 · 0 评论 -
LeetCode 172. 阶乘后的零 / 682. 棒球比赛 / 2028. 找出缺失的观测数据
172. 阶乘后的零2022.3.25 每日一题题目描述给定一个整数 n ,返回 n! 结果中尾随零的数量。提示 n! = n * (n - 1) * (n - 2) * … * 3 * 2 * 1示例 1:输入:n = 3输出:0解释:3! = 6 ,不含尾随 0示例 2:输入:n = 5输出:1解释:5! = 120 ,有一个尾随 0示例 3:输入:n = 0输出:0提示:0 <= n <= 10^4进阶:你可以设计并实现对数时间复杂度的原创 2022-03-31 11:22:05 · 82 阅读 · 0 评论 -
LeetCode 2038. 如果相邻两个颜色均相同则删除当前颜色 / 440. 字典序的第K小数字(类字典树思路) / 661. 图片平滑器
2038. 如果相邻两个颜色均相同则删除当前颜色2022.3.22 每日一题题目描述总共有 n 个颜色片段排成一列,每个颜色片段要么是 ‘A’ 要么是 ‘B’ 。给你一个长度为 n 的字符串 colors ,其中 colors[i] 表示第 i 个颜色片段的颜色。Alice 和 Bob 在玩一个游戏,他们 轮流 从这个字符串中删除颜色。Alice 先手 。如果一个颜色片段为 ‘A’ 且 相邻两个颜色 都是颜色 ‘A’ ,那么 Alice 可以删除该颜色片段。Alice 不可以 删除任何颜色 ‘B原创 2022-03-31 10:49:11 · 3150 阅读 · 0 评论 -
LeetCode 606. 根据二叉树创建字符串 / 2039. 网络空闲的时刻 / 653. 两数之和 IV - 输入 BST
606. 根据二叉树创建字符串2022.3.19 每日一题题目描述你需要采用前序遍历的方式,将一个二叉树转换成一个由括号和整数组成的字符串。空节点则用一对空括号 “()” 表示。而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对。示例 1:输入: 二叉树: [1,2,3,4] 1 / \ 2 3 / 4 输出: "1(2(4))(3)"解释: 原本将是“1(2(4)())(3())”,在你省略所原创 2022-03-22 11:30:27 · 147 阅读 · 0 评论 -
LeetCode 432. 全 O(1) 的数据结构(双向链表+哈希表) / 720. 词典中最长的单词 / 2043. 简易银行系统
432. 全 O(1) 的数据结构2022.3.16 每日一题题目描述请你设计一个用于存储字符串计数的数据结构,并能够返回计数最小和最大的字符串。实现 AllOne 类:AllOne() 初始化数据结构的对象。inc(String key) 字符串 key 的计数增加 1 。如果数据结构中尚不存在 key ,那么插入计数为 1 的 key 。dec(String key) 字符串 key 的计数减少 1 。如果 key 的计数在减少后为 0 ,那么需要将这个 key 从数据结构中删除。测试用例原创 2022-03-18 10:51:08 · 379 阅读 · 0 评论 -
LeetCode 393. UTF-8 编码验证 / 599. 两个列表的最小索引总和 / 2044. 统计按位或能得到最大值的子集数目
393. UTF-8 编码验证2022.3.13 每日一题题目描述给定一个表示数据的整数数组 data ,返回它是否为有效的 UTF-8 编码。UTF-8 中的一个字符可能的长度为 1 到 4 字节,遵循以下的规则:对于 1 字节 的字符,字节的第一位设为 0 ,后面 7 位为这个符号的 unicode 码。对于 n 字节 的字符 (n > 1),第一个字节的前 n 位都设为1,第 n+1 位设为 0 ,后面字节的前两位一律设为 10 。剩下的没有提及的二进制位,全部为这个符号的 uni原创 2022-03-15 21:37:26 · 74 阅读 · 0 评论 -
LeetCode 589. N 叉树的前序遍历(迭代写法) / 2049. 统计最高分的节点数目 / 590. N 叉树的后序遍历
589. N 叉树的前序遍历2022.3.10 每日一题题目描述给定一个 n 叉树的根节点 root ,返回 其节点值的 前序遍历 。n 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。示例 1:输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:输入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11原创 2022-03-15 12:08:25 · 995 阅读 · 0 评论