Search⌘ K
AI Features

Solution: Find Minimum Diameter After Merging Two Trees

Explore how to efficiently calculate the minimum diameter after merging two undirected trees by applying breadth-first search twice to find diameters and using a formula that connects their centers. Understand how to construct adjacency lists, perform BFS to identify farthest nodes, and compute the minimal combined tree diameter in linear time and space complexity.

Statement

You are given two undirected trees: one with nn nodes labeled from 00 to n1n - 1, and another with mm nodes labeled from 00 to m1m - 1. Their structures are defined by two 2D2D integer arrays—edges1 of length n1n - 1 for the first tree, and edges2 of length m1m - 1 for the second. Each element edges1[i] = [aᵢ, bᵢ] represents an edge between nodes aaᵢ and bbᵢ in the first tree, and similarly, edges2[i] = [uᵢ, vᵢ] represents an edge in the second tree.

Your task is to connect any node from the first tree to any one node from the second tree using a single edge. Return the smallest possible diameter of the resulting combined tree.

Note: The diameter of a tree is the length of the longest path between any two nodes in it.

Constraints:

  • 1<=n,m<=1051 <= n, m <= 10^5

  • edges1.length ==n1== n - 1 ...