Lesson overview · Free interview practice

Union Find

Detect cycles and manage dynamic connectivity in graphs.

Topics in the full lesson
  • Concept and Use Cases
  • Key Concepts
  • Time and Space Complexity
  • Union-Find Operations and Methods
  • Practical Tips and Tricks
  • Common Gotchas
  • Advanced Topics
  • Interview Tips and Tricks
  • Common Mistakes

Practice Problems

Work through a question before revealing its explanation. These questions and answers are free; Premium adds the full lesson walkthrough, examples and implementation detail.

Completion marks record your own progress, not an automatically checked result. The task type does not determine whether it is optional.

Question

A tree is a connected, acyclic undirected graph. You start with a tree on n nodes labeled 1..n and add exactly one extra edge between two distinct, not-already-connected nodes. Given the resulting edges (each [a, b]), return the one edge that can be removed so the graph becomes a tree again. If several edges qualify, return the one that appears last in edges.

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

CodingMedium

Number of Islands

Question

Given an m x n grid where each cell is '1' (land) or '0' (water), return the number of islands. An island is a maximal group of land cells connected horizontally or vertically, and the whole grid is surrounded by water.

Take a moment to think about this before revealing the answer

Explain your reasoning or try an implementation before comparing answers.

Explore the full Union Find material

Premium includes the complete lessons and implementation references. Free practice questions remain available without a subscription.

All course tracks & premium content
From basics to advanced masterclasses
Built for JS/TS developers like you
Real-world tips & common pitfalls
Upgrade to Premium