LeetCode 952, Hard. Topics: Array, Hash Table, Math, Union-Find, Number Theory, Prime Factorization. View on LeetCode.
Generate this problem as a practice environment: tested reference solution, 21 parametrized pytest cases, and a playground notebook:
Problem
Given an integer array of unique positive integers nums. Consider the following graph:
- There are
nums.length nodes, labeled nums[0] to nums[nums.length - 1],
- There is an undirected edge between
nums[i] and nums[j] if nums[i] and nums[j] share a common factor greater than 1.
Return the size of the largest connected component in the graph.
Examples
Constraints
- 1 <= nums.length <= 2 * 10^4
- 1 <= nums[i] <= 10^5
- All the values of nums are unique.
Solution
Reference implementation from solution.py on GitHub, full suite in test_solution.py:
Complexity
Last modified on September 7, 2026