LC 599. 两个列表的最小索引总和 题目描述这是 LeetCode 上的 599. 两个列表的最小索引总和 ,难度为 简单。 假设 Andy 和 Doris 想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。 你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设答案总是存在。 示例 1:12345输入: list1 = [" 2022-03-14 哈希表 模拟
LC 393. UTF-8 编码验证 题目描述这是 LeetCode 上的 393. UTF-8 编码验证 ,难度为 中等。 给定一个表示数据的整数数组 data ,返回它是否为有效的 $UTF-8$ 编码。 UTF-8 中的一个字符可能的长度为 $1$ 到 $4$ 字节,遵循以下的规则: 对于 $1$ 字节 的字符,字节的第一位设为 $0$ ,后面 $7$ 位为这个符号的 unicode 码。 对于 $n$ 字节 的字符 ($n 2022-03-12 模拟
LC 590. N 叉树的后序遍历 题目描述这是 LeetCode 上的 590. N 叉树的后序遍历 ,难度为 简单。 给定一个 $n$ 叉树的根节点 $root$ ,返回 其节点值的后序遍历。 $n$ 叉树在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1:123输入:root = [1,null,3,2,4,null,5,6]输出:[5,6,3,2,4,1]示例 2:123输入:roo 2022-03-11 DFS BFS 递归 迭代 非递归
LC 2049. 统计最高分的节点数目 题目描述这是 LeetCode 上的 2049. 统计最高分的节点数目 ,难度为 中等。 给你一棵根节点为 $0$ 的 二叉树 ,它总共有 $n$ 个节点,节点编号为 $0$ 到 $n - 1$ 。 同时给你一个下标从 $0$ 开始的整数数组 $parents$ 表示这棵树,其中 $parents[i]$ 是节点 $i$ 的父节点。由于节点 $0$ 是根,所以 $parents[0] == -1$ 2022-03-10 线性 DP 图论
LC 589. N 叉树的前序遍历 题目描述这是 LeetCode 上的 589. N 叉树的前序遍历 ,难度为 简单。 给定一个 $n$ 叉树的根节点 $root$ ,返回 其节点值的 前序遍历 。 $n$ 叉树 在输入中按层序遍历进行序列化表示,每组子节点由空值 null 分隔(请参见示例)。 示例 1:123输入:root = [1,null,3,2,4,null,5,6]输出:[1,3,5,6,2,4]示例 2:123输入 2022-03-09 树的搜索 递归 迭代
LC 798. 得分最高的最小轮调 题目描述这是 LeetCode 上的 798. 得分最高的最小轮调 ,难度为 困难。 给你一个数组 $nums$,我们可以将它按一个非负整数 $k$ 进行轮调,这样可以使数组变为 $[nums[k], nums[k + 1], … nums[nums.length - 1], nums[0], nums[1], …, nums[k-1]]$ 的形式。此后,任何值小于或等于其索引的项都可以记作一分。 2022-03-08 差分 区间求和问题
LC 2055. 蜡烛之间的盘子 题目描述这是 LeetCode 上的 2055. 蜡烛之间的盘子 ,难度为 中等。 给你一个长桌子,桌子上盘子和蜡烛排成一列。给你一个下标从 $0$ 开始的字符串 s ,它只包含字符 '*' 和 '|' ,其中 '*' 表示一个 盘子 ,'|' 表示一支 蜡烛 。 同时给你一个下标从 $0$ 开始的二维整数数组 queries ,其中 2022-03-07 二分 前缀和
LC 504. 七进制数 题目描述这是 LeetCode 上的 504. 七进制数 ,难度为 简单。 给定一个整数 num,将其转化为 $7$ 进制,并以字符串形式输出。 示例 1:123输入: num = 100输出: "202"示例 2:123输入: num = -7输出: "-10" 提示: $-10^7 <= num <= 10^7$ 模拟今天是个特别的日子 2022-03-06 模拟
LC 2100. 适合打劫银行的日子 题目描述这是 LeetCode 上的 2100. 适合打劫银行的日子 ,难度为 中等。 你和一群强盗准备打劫银行。给你一个下标从 $0$ 开始的整数数组 $security$ ,其中 $security[i]$ 是第 $i$ 天执勤警卫的数量。日子从 $0$ 开始编号。同时给你一个整数 $time$ 。 如果第 $i$ 天满足以下所有条件,我们称它为一个适合打劫银行的日子: 第 $i$ 天前和后 2022-03-06 前缀和
LC 521. 最长特殊序列 Ⅰ 题目描述这是 LeetCode 上的 521. 最长特殊序列 Ⅰ ,难度为 简单。 给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 。如果不存在,则返回 $-1$ 。 「最长特殊序列」 定义如下:该序列为 某字符串独有的最长子序列(即不能是其他字符串的子序列) 。 字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。 例如,“abc” 是 “aebdc” 2022-03-04 脑筋急转弯
LC 2104. 子数组范围和 题目描述这是 LeetCode 上的 2104. 子数组范围和 ,难度为 中等。 给你一个整数数组 nums 。nums 中,子数组的 范围 是子数组中最大元素和最小元素的差值。 返回 nums 中 所有 子数组范围的 和 。 子数组是数组中一个连续 非空 的元素序列。 示例 1:123456789101112输入:nums = [1,2,3]输出:4解释:nums 的 6 个子数组如下所示:[1 2022-03-04 单调栈 区间 DP
LC 258. 各位相加 题目描述这是 LeetCode 上的 258. 各位相加 ,难度为 简单。 给定一个非负整数 num,反复将各个位上的数字相加,直到结果为一位数。返回这个结果。 示例 1:12345678输入: num = 38输出: 2 解释: 各位相加的过程为:38 --> 3 + 8 --> 1111 --> 1 + 1 --> 2由于 2 是一位数,所以返回 2。示例 1:123输 2022-03-02 模拟 数学
LC 564. 寻找最近的回文数 题目描述这是 LeetCode 上的 564. 寻找最近的回文数 ,难度为 困难。 给定一个表示整数的字符串 $n$ ,返回与它最近的回文整数(不包括自身)。如果不止一个,返回较小的那个。 “最近的”定义为两个整数差的绝对值最小。 示例 1:123输入: n = "123"输出: "121"示例 2:12345输入: n = "1"输出: 2022-03-01 贪心 脑筋急转弯
LC 1601. 最多可达成的换楼请求数目 题目描述这是 LeetCode 上的 1601. 最多可达成的换楼请求数目 ,难度为 困难。 我们有 n 栋楼,编号从 0 到 n - 1 。每栋楼有若干员工。由于现在是换楼的季节,部分员工想要换一栋楼居住。 给你一个数组 $requests$ ,其中 $requests[i] = [from_i, to_i]$ ,表示一个员工请求从编号为 $from_i$ 的楼搬到编号为 $to_i$ 的楼。 2022-02-27 二进制枚举
LC 553. 最优除法 题目描述这是 LeetCode 上的 553. 最优除法 ,难度为 中等。 给定一组正整数,相邻的整数之间将会进行浮点除法操作。例如, [2,3,4] -> 2 / 3 / 4 。 但是,你可以在任意位置添加任意数目的括号,来改变算数的优先级。你需要找出怎么添加括号,才能得到最大的结果,并且返回相应的字符串格式的表达式。你的表达式不应该含有冗余的括号。 示例:1234567891011121 2022-02-26 贪心 数学