#3486

Longest Special Path II

hard · 18.6% accepted · 33 likes · top 1%

array · hash table · tree · depth-first search · prefix sum

⊣ practice⊣ open on leetcode ↗

Description

You are given an undirected tree rooted at node 0, with n nodes numbered from 0 to n - 1. This is represented by a 2D array edges of length n - 1, where edges[i] = [ui, vi, lengthi] indicates an edge between nodes ui and vi with length lengthi. You are also given an integer array nums, where nums[i] represents the value at node i.

A special path is defined as a downward path from an ancestor node to a descendant node in which all node values are distinct, except for at most one value that may appear twice.

Return an array result of size 2, where result[0] is the length of the longest special path, and result[1]` is the minimum number of nodes in all possible longest special paths.

Solution