LC 117. 填充每个节点的下一个右侧节点指针 II 题目描述这是 LeetCode 上的 117. 填充每个节点的下一个右侧节点指针 II ,难度为 中等。 给定一个二叉树: 123456struct Node { int val; Node *left; Node *right; Node *next;} 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 2023-11-03 BFS 链表
LC 2103. 环和杆 题目描述这是 LeetCode 上的 2103. 环和杆 ,难度为 简单。 总计有 n 个环,环的颜色可以是红、绿、蓝中的一种。 这些环分别穿在 $10$ 根编号为 $0$ 到 $9$ 的杆上。 给你一个长度为 2n 的字符串 rings,表示这 n 个环在杆上的分布。 rings 中每两个字符形成一个 颜色位置对 ,用于描述每个环: 第 i 对中的 第一个 字符表示第 i 个环的 颜色( 2023-11-02 模拟 位运算
LC 2127. 参加会议的最多员工数 题目描述这是 LeetCode 上的 2127. 参加会议的最多员工数 ,难度为 困难。 一个公司准备组织一场会议,邀请名单上有 n 位员工。 公司准备了一张圆形的桌子,可以坐下任意数目的员工。 员工编号为 $0$ 到 $n - 1$。每位员工都有一位喜欢的员工,每位员工当且仅当他被安排在喜欢员工的旁边,他才会参加会议,每位员工喜欢的员工不会是他自己。 给你一个下标从 $0$ 开始的整数数组 fa 2023-11-01 图 拓扑排序 基环森林 内向基环树
LC 2003. 每棵子树内缺失的最小基因值 题目描述这是 LeetCode 上的 2003. 每棵子树内缺失的最小基因值 ,难度为 困难。 有一棵根节点为 0 的 家族树 ,总共包含 n 个节点,节点编号为 0 到 n - 1。 给你一个下标从 0 开始的整数数组 parents,其中 $parents[i]$ 是节点 i 的父节点。由于节点 0 是根 ,所以 $parents[0] = -1$。 总共有 $10^5$ 个基因值,每个基因值 2023-10-30 DFS 脑筋急转弯 图
LC 275. H 指数 II 题目描述这是 LeetCode 上的 275. H 指数 II ,难度为 中等。 给你一个整数数组 citations,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数,citations 已经按照 升序排列 。计算并返回该研究者的 h 指数。 h 指数的定义:h 代表“高引用次数”(high citations),一名科研人员的 h 指数是指他(她)的 (n 篇论文中)总共 2023-10-30 二分 数学
LC 274. H 指数 题目描述这是 LeetCode 上的 274. H 指数 ,难度为 中等。 给你一个整数数组 citations,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数”,一名科研人员的 h指数是指他(她)的 (n 篇论文中)总共有 h 篇论文分别被引用了至少 h 次。且其余的 n - h 篇论 2023-10-29 二分 数学
LC 2558. 从数量最多的堆取走礼物 题目描述这是 LeetCode 上的 2558. 从数量最多的堆取走礼物 ,难度为 简单。 给你一个整数数组 gifts,表示各堆礼物的数量。 每一秒,你需要执行以下操作: 选择礼物数量最多的那一堆。 如果不止一堆都符合礼物数量最多,从中选择任一堆即可。 选中的那一堆留下平方根数量的礼物(向下取整),取走其他的礼物。 返回在 k 秒后剩下的礼物数量。 示例 1:1234567891011 2023-10-28 优先队列(堆)
LC 1465. 切割后面积最大的蛋糕 题目描述这是 LeetCode 上的 1465. 切割后面积最大的蛋糕 ,难度为 中等。 矩形蛋糕的高度为 h 且宽度为 w,给你两个整数数组 hs 和 vs,其中: hs[i] 是从矩形蛋糕顶部到第 i 个水平切口的距离 vs[j] 是从矩形蛋糕的左侧到第 j 个竖直切口的距离 请你按数组 hs 和 vs 中提供的水平和竖直位置切割后,请你找出面积最大的那份蛋糕,并返回其面积。 由于答案可 2023-10-27 模拟 贪心
LC 2520. 统计能整除数字的位数 题目描述这是 LeetCode 上的 2520. 统计能整除数字的位数 ,难度为 简单。 给你一个整数 num,返回 num 中能整除 num 的数位的数目。 如果满足 nums % val == 0,则认为整数 val 可以整除 nums。 示例 1:12345输入:num = 7输出:1解释:7 被自己整除,因此答案是 1 。示例 2:12345输入:num = 121输出:2解释:121 可 2023-10-26 模拟
LC 2698. 求一个整数的惩罚数 题目描述这是 LeetCode 上的 2698. 求一个整数的惩罚数 ,难度为 中等。 给你一个正整数 $n$,请你返回 $n$ 的 惩罚数 。 $n$ 的 惩罚数 定义为所有满足以下条件 $i$ 的数的平方和: $1 <= i <= n$ $i \times i$ 的十进制表示的字符串可以分割成若干连续子字符串,且这些子字符串对应的整数值之和等于 $i$ 。 示例 1:123 2023-10-25 模拟 递归 打表
LC 543. 二叉树的直径 题目描述这是 LeetCode 上的 543. 二叉树的直径 ,难度为 简单。 给你一棵二叉树的根节点,返回该树的直径。 二叉树的直径是指树中任意两个节点之间最长路径的长度。 这条路径可能经过也可能不经过根节点 root。 两节点之间路径的长度由它们之间边数表示。 示例 1:12345输入:root = [1,2,3,4,5]输出:3解释:3 ,取路径 [4,2,1,3] 或 [5,2,1,3] 2023-09-22 DFS 二叉树
LC 2246. 相邻字符不同的最长路径 题目描述这是 LeetCode 上的 2246. 相邻字符不同的最长路径 ,难度为 困难。 给你一棵 树(即一个连通、无向、无环图),根节点是节点 0,这棵树由编号从 0 到 n - 1 的 n 个节点组成。 用下标从 0 开始、长度为 n 的数组 parent 来表示这棵树,其中 parent[i] 是节点 i 的父节点,由于节点 0 是根节点,所以 parent[0] = -1。 另给你一个字 2023-09-22 动态规划 DFS 树形 DP 树
LC 124. 二叉树中的最大路径和 题目描述这是 LeetCode 上的 124. 二叉树中的最大路径和 ,难度为 困难。 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。 路径和 是路径中各节点值的总和。 给你一个二叉树的根节点 root,返回其 最大路径和 。 示例 1: 12345输入:root = [1,2 2023-09-20 动态规划 DFS 二叉树 递归 树形 DP
LC 834. 树中距离之和 题目描述这是 LeetCode 上的 834. 树中距离之和 ,难度为 困难。 给定一个无向、连通的树。 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边 。 给定整数 n 和数组 edges, $edges[i] = [a{i}, b{i}]$表示树中的节点 $a{i}$ 和 $b{i}$ 之间有一条边。 返回长度为 n 的数组 answer,其中 answer[i] 是树中第 i 2023-09-19 动态规划 DFS 树形 DP 树
LC 96. 不同的二叉搜索树 题目描述这是 LeetCode 上的 96. 不同的二叉搜索树 ,难度为 中等。 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种? 返回满足题意的二叉搜索树的种数。 示例 1:123输入:n = 3输出:5示例 2:123输入:n = 1输出:1 提示: $1 <= n <= 19$ 区间 DP沿用 95. 不同的二叉搜索树 I 2023-09-12 动态规划 数学 树 区间 DP 二叉搜索树 卡特兰数