Union Find LeetCode Problems: All 83, With Python Solutions

Every problem in this library that LeetCode tags Union Find 83 in total, 66 of them with a complete Python solution, a worked example and the time and space complexity of the approach.

  • 83 problems
  • 1 Easy
  • 44 Medium
  • 38 Hard

How Union Find problems are solved

A tag names the subject, not the method. These pattern hubs cover the techniques that actually solve Union Find problems — each one explains the approach, gives a Python template and states its complexity.

  • Union-Find — Merge groups and ask whether two things are connected, both in near-constant time.

Union Find problems by difficulty

Problems with a complete Python solution are listed first, then by ascending problem number.

Easy (1)

#ProblemDifficultyTopics
1971Find if Path Exists in GraphEasyDepth-First Search, Breadth-First Search, Union Find +1

Medium (44)

#ProblemDifficultyTopics
128Longest Consecutive SequenceMediumUnion Find, Array, Hash Table
130Surrounded RegionsMediumDepth-First Search, Breadth-First Search, Union Find +2
200Number of IslandsMediumDepth-First Search, Breadth-First Search, Union Find +2
399Evaluate DivisionMediumDepth-First Search, Breadth-First Search, Union Find +4
547Number of ProvincesMediumDepth-First Search, Breadth-First Search, Union Find +1
684Redundant ConnectionMediumDepth-First Search, Breadth-First Search, Union Find +1
695Max Area of IslandMediumDepth-First Search, Breadth-First Search, Union Find +2
721Accounts MergeMediumDepth-First Search, Breadth-First Search, Union Find +4
785Is Graph Bipartite?MediumDepth-First Search, Breadth-First Search, Union Find +1
886Possible BipartitionMediumDepth-First Search, Breadth-First Search, Union Find +1
947Most Stones Removed with Same Row or ColumnMediumDepth-First Search, Union Find, Graph +1
959Regions Cut By SlashesMediumDepth-First Search, Breadth-First Search, Union Find +3
990Satisfiability of Equality EquationsMediumUnion Find, Graph, Array +1
1020Number of EnclavesMediumDepth-First Search, Breadth-First Search, Union Find +2
1061Lexicographically Smallest Equivalent StringMediumUnion Find, String
1202Smallest String With SwapsMediumDepth-First Search, Breadth-First Search, Union Find +4
1254Number of Closed IslandsMediumDepth-First Search, Breadth-First Search, Union Find +2
1267Count Servers that CommunicateMediumDepth-First Search, Breadth-First Search, Union Find +3
1319Number of Operations to Make Network ConnectedMediumDepth-First Search, Breadth-First Search, Union Find +1
1361Validate Binary Tree NodesMediumTree, Depth-First Search, Breadth-First Search +3
1391Check if There is a Valid Path in a GridMediumDepth-First Search, Breadth-First Search, Union Find +2
1559Detect Cycles in 2D GridMediumDepth-First Search, Breadth-First Search, Union Find +2
1584Min Cost to Connect All PointsMediumUnion Find, Graph, Array +1
1631Path With Minimum EffortMediumDepth-First Search, Breadth-First Search, Union Find +4
1722Minimize Hamming Distance After Swap OperationsMediumDepth-First Search, Union Find, Array
1905Count Sub IslandsMediumDepth-First Search, Breadth-First Search, Union Find +2
2316Count Unreachable Pairs of Nodes in an Undirected GraphMediumDepth-First Search, Breadth-First Search, Union Find +1
2368Reachable Nodes With RestrictionsMediumTree, Depth-First Search, Breadth-First Search +4
2424Longest Uploaded PrefixMediumUnion Find, Design, Binary Indexed Tree +5
2492Minimum Score of a Path Between Two CitiesMediumDepth-First Search, Breadth-First Search, Union Find +1
2658Maximum Number of Fish in a GridMediumDepth-First Search, Breadth-First Search, Union Find +2
2685Count the Number of Complete ComponentsMediumDepth-First Search, Breadth-First Search, Union Find +1
2812Find the Safest Path in a GridMediumBreadth-First Search, Union Find, Array +3
2948Make Lexicographically Smallest Array by Swapping ElementsMediumUnion Find, Array, Sorting
261Graph Valid TreePremiumMediumDepth-First Search, Breadth-First Search, Union Find +1
323Number of Connected Components in an Undirected GraphPremiumMediumDepth-First Search, Breadth-First Search, Union Find +1
694Number of Distinct IslandsPremiumMediumDepth-First Search, Breadth-First Search, Union Find +2
737Sentence Similarity IIPremiumMediumDepth-First Search, Breadth-First Search, Union Find +3
1101The Earliest Moment When Everyone Become FriendsPremiumMediumUnion Find, Array, Sorting
1102Path With Maximum Minimum ValuePremiumMediumDepth-First Search, Breadth-First Search, Union Find +4
1135Connecting Cities With Minimum CostPremiumMediumUnion Find, Graph, Minimum Spanning Tree +1
1258Synonymous SentencesPremiumMediumSort, Union Find, Array +3
2782Number of Unique CategoriesPremiumMediumUnion Find, Counting, Interactive
2852Sum of Remoteness of All CellsPremiumMediumDepth-First Search, Breadth-First Search, Union Find +3

Hard (38)

#ProblemDifficultyTopics
352Data Stream as Disjoint IntervalsHardUnion Find, Design, Hash Table +3
685Redundant Connection IIHardDepth-First Search, Breadth-First Search, Union Find +1
765Couples Holding HandsHardGreedy, Depth-First Search, Breadth-First Search +2
778Swim in Rising WaterHardDepth-First Search, Breadth-First Search, Union Find +4
803Bricks Falling When HitHardUnion Find, Array, Matrix
827Making A Large IslandHardDepth-First Search, Breadth-First Search, Union Find +2
839Similar String GroupsHardDepth-First Search, Breadth-First Search, Union Find +3
924Minimize Malware SpreadHardDepth-First Search, Breadth-First Search, Union Find +3
928Minimize Malware Spread IIHardDepth-First Search, Breadth-First Search, Union Find +3
952Largest Component Size by Common FactorHardUnion Find, Array, Hash Table +2
1489Find Critical and Pseudo-Critical Edges in Minimum Spanning TreeHardUnion Find, Graph, Minimum Spanning Tree +2
1569Number of Ways to Reorder Array to Get Same BSTHardTree, Union Find, Binary Search Tree +7
1579Remove Max Number of Edges to Keep Graph Fully TraversableHardUnion Find, Graph
1627Graph Connectivity With ThresholdHardUnion Find, Array, Math +1
1632Rank Transform of a MatrixHardUnion Find, Graph, Topological Sort +3
1697Checking Existence of Edge Length Limited PathsHardUnion Find, Graph, Array +2
1970Last Day Where You Can Still CrossHardDepth-First Search, Breadth-First Search, Union Find +3
1998GCD Sort of an ArrayHardUnion Find, Array, Math +2
2003Smallest Missing Genetic Value in Each SubtreeHardTree, Depth-First Search, Union Find +1
2076Process Restricted Friend RequestsHardUnion Find, Graph
2092Find All People With SecretHardDepth-First Search, Breadth-First Search, Union Find +2
2157Groups of StringsHardBit Manipulation, Union Find, String
2334Subarray With Elements Greater Than Varying ThresholdHardStack, Union Find, Array +1
2382Maximum Segment Sum After RemovalsHardUnion Find, Array, Ordered Set +1
2421Number of Good PathsHardTree, Union Find, Graph +3
2493Divide Nodes Into the Maximum Number of GroupsHardDepth-First Search, Breadth-First Search, Union Find +1
2503Maximum Number of Points From Grid QueriesHardBreadth-First Search, Union Find, Array +4
2573Find the String with LCPHardGreedy, Union Find, Array +3
2612Minimum Reverse OperationsHardBreadth-First Search, Union Find, Array +2
2617Minimum Number of Visited Cells in a GridHardStack, Breadth-First Search, Union Find +5
2709Greatest Common Divisor TraversalHardUnion Find, Array, Math +1
305Number of Islands IIPremiumHardUnion Find, Array, Hash Table
711Number of Distinct Islands IIPremiumHardDepth-First Search, Breadth-First Search, Union Find +2
1168Optimize Water Distribution in a VillagePremiumHardUnion Find, Graph, Minimum Spanning Tree +1
1724Checking Existence of Edge Length Limited Paths IIPremiumHardUnion Find, Graph, Minimum Spanning Tree
2204Distance to a Cycle in Undirected GraphPremiumHardDepth-First Search, Breadth-First Search, Union Find +1
2307Check for Contradictions in EquationsPremiumHardDepth-First Search, Union Find, Graph +1
2371Minimize Maximum Value in a GridPremiumHardUnion Find, Graph, Topological Sort +3

When the Union Find problem arrives live

Stealth Interview is a desktop app for macOS and Windows. It reads the coding problem off your screen, returns a working solution with a step-by-step explanation and its time and space complexity, and transcribes what the interviewer is saying — while staying invisible to screen sharing.