Easton Notes
LeetCode 专题灵神算法

树形 DP - 直径系列

来源:基础算法精讲 by 灵茶山艾府

视频精讲:树形 DP - 直径系列

题意与示例

543. 二叉树的直径

题目链接:求二叉树任意两个节点之间最长路径的边数。

示例:输入 root = [1,2,3,4,5],输出 3。

124. 二叉树中的最大路径和

题目链接:求二叉树中任意一条不重复节点路径的最大节点值之和。

示例:输入 root = [1,2,3],输出 6。

2246. 相邻字符不同的最长路径

题目链接:在字符树中求相邻节点字符都不同的最长路径节点数。

示例:输入 parent = [-1,0,0,1,1,2], s = "abacbe",输出 3。

687. 最长同值路径

题目链接:求二叉树中所有节点值相同的最长路径边数。

示例:输入 root = [5,4,5,1,1,5],输出 2。

3203. 合并两棵树后的最小直径

题目链接:在两棵树之间添加一条边,求合并后树的最小可能直径。

示例:输入 edges1 = [[0,1],[0,2],[0,3]], edges2 = [[0,1]],输出 3。

1617. 统计子树中城市之间最大距离

题目链接:对每个距离 d,统计直径恰好为 d 的连通城市子集数量。

示例:输入 n = 4, edges = [[1,2],[2,3],[2,4]],输出 [3,4,0]。

2538. 最大价值和与最小价值和的差值

题目链接:选择树根后计算根出发路径的最大与最小价值和之差,求所有根中的最大差值。

示例:输入 n = 6, edges = [[0,1],[1,2],[1,3],[3,4],[3,5]], price = [9,8,7,6,10,5],输出 24。

评论

On this page