Graph LeetCode Problems: All 138, With Python Solutions

Every problem in this library that LeetCode tags Graph 138 in total, 106 of them with a complete Python solution, a worked example and the time and space complexity of the approach.

  • 138 problems
  • 3 Easy
  • 64 Medium
  • 71 Hard

How Graph problems are solved

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

  • Depth-First Search — Follow one path to its end before trying the next — the default way to explore a graph.

Graph problems by difficulty

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

Easy (3)

#ProblemDifficultyTopics
997Find the Town JudgeEasyGraph, Array, Hash Table
1791Find Center of Star GraphEasyGraph
1971Find if Path Exists in GraphEasyDepth-First Search, Breadth-First Search, Union Find +1

Medium (64)

#ProblemDifficultyTopics
133Clone GraphMediumDepth-First Search, Breadth-First Search, Graph +1
207Course ScheduleMediumDepth-First Search, Breadth-First Search, Graph +1
210Course Schedule IIMediumDepth-First Search, Breadth-First Search, Graph +1
310Minimum Height TreesMediumDepth-First Search, Breadth-First Search, Graph +1
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
743Network Delay TimeMediumDepth-First Search, Breadth-First Search, Graph +2
785Is Graph Bipartite?MediumDepth-First Search, Breadth-First Search, Union Find +1
787Cheapest Flights Within K StopsMediumDepth-First Search, Breadth-First Search, Graph +3
797All Paths From Source to TargetMediumDepth-First Search, Breadth-First Search, Graph +1
802Find Eventual Safe StatesMediumDepth-First Search, Breadth-First Search, Graph +1
841Keys and RoomsMediumDepth-First Search, Breadth-First Search, Graph
851Loud and RichMediumDepth-First Search, Graph, Topological Sort +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
990Satisfiability of Equality EquationsMediumUnion Find, Graph, Array +1
1042Flower Planting With No AdjacentMediumDepth-First Search, Breadth-First Search, Graph
1129Shortest Path with Alternating ColorsMediumBreadth-First Search, Graph
1311Get Watched Videos by Your FriendsMediumBreadth-First Search, Graph, Array +2
1319Number of Operations to Make Network ConnectedMediumDepth-First Search, Breadth-First Search, Union Find +1
1334Find the City With the Smallest Number of Neighbors at a Threshold DistanceMediumGraph, Dynamic Programming, Shortest Path
1361Validate Binary Tree NodesMediumTree, Depth-First Search, Breadth-First Search +3
1462Course Schedule IVMediumDepth-First Search, Breadth-First Search, Graph +1
1466Reorder Routes to Make All Paths Lead to the City ZeroMediumDepth-First Search, Breadth-First Search, Graph
1514Path with Maximum ProbabilityMediumGraph, Array, Shortest Path +1
1557Minimum Number of Vertices to Reach All NodesMediumGraph
1584Min Cost to Connect All PointsMediumUnion Find, Graph, Array +1
1615Maximal Network RankMediumGraph
1786Number of Restricted Paths From First to Last NodeMediumGraph, Topological Sort, Dynamic Programming +2
1976Number of Ways to Arrive at DestinationMediumGraph, Topological Sort, Dynamic Programming +1
2039The Time When the Network Becomes IdleMediumBreadth-First Search, Graph, Array
2101Detonate the Maximum BombsMediumDepth-First Search, Breadth-First Search, Graph +3
2115Find All Possible Recipes from Given SuppliesMediumGraph, Topological Sort, Array +2
2192All Ancestors of a Node in a Directed Acyclic GraphMediumDepth-First Search, Breadth-First Search, Graph +1
2285Maximum Total Importance of RoadsMediumGreedy, Graph, Sorting +1
2316Count Unreachable Pairs of Nodes in an Undirected GraphMediumDepth-First Search, Breadth-First Search, Union Find +1
2359Find Closest Node to Given Two NodesMediumDepth-First Search, Graph
2368Reachable Nodes With RestrictionsMediumTree, Depth-First Search, Breadth-First Search +4
2374Node With Highest Edge ScoreMediumGraph, Hash Table
2467Most Profitable Path in a TreeMediumTree, Depth-First Search, Breadth-First Search +2
2477Minimum Fuel Cost to Report to the CapitalMediumTree, Depth-First Search, Breadth-First Search +1
2492Minimum Score of a Path Between Two CitiesMediumDepth-First Search, Breadth-First Search, Union Find +1
2497Maximum Star Sum of a GraphMediumGreedy, Graph, Array +2
2662Minimum Cost of a Path With Special RoadsMediumGraph, Array, Shortest Path +1
2685Count the Number of Complete ComponentsMediumDepth-First Search, Breadth-First Search, Union Find +1
2924Find Champion IIMediumGraph
2976Minimum Cost to Convert String IMediumGraph, Array, String +1
261Graph Valid TreePremiumMediumDepth-First Search, Breadth-First Search, Union Find +1
277Find the CelebrityPremiumMediumGraph, Two Pointers, Interactive
323Number of Connected Components in an Undirected GraphPremiumMediumDepth-First Search, Breadth-First Search, Union Find +1
444Sequence ReconstructionPremiumMediumGraph, Topological Sort, Array
505The Maze IIPremiumMediumDepth-First Search, Breadth-First Search, Graph +4
1059All Paths from Source Lead to DestinationPremiumMediumGraph, Topological Sort
1135Connecting Cities With Minimum CostPremiumMediumUnion Find, Graph, Minimum Spanning Tree +1
1136Parallel CoursesPremiumMediumGraph, Topological Sort
1245Tree DiameterPremiumMediumTree, Depth-First Search, Breadth-First Search +2
1810Minimum Path Cost in a Hidden GridPremiumMediumDepth-First Search, Breadth-First Search, Graph +5
1820Maximum Number of Accepted InvitationsPremiumMediumDepth-First Search, Graph, Array +1
2077Paths in Maze That Lead to Same RoomPremiumMediumGraph
2093Minimum Cost to Reach City With DiscountsPremiumMediumGraph, Shortest Path, Heap (Priority Queue)
2297Jump Game VIIIPremiumMediumStack, Graph, Array +3
2473Minimum Cost to Buy ApplesPremiumMediumGraph, Array, Shortest Path +1
2737Find the Closest Marked NodePremiumMediumGraph, Array, Shortest Path +1

Hard (71)

#ProblemDifficultyTopics
329Longest Increasing Path in a MatrixHardDepth-First Search, Breadth-First Search, Graph +5
332Reconstruct ItineraryHardDepth-First Search, Graph, Eulerian Circuit
685Redundant Connection IIHardDepth-First Search, Breadth-First Search, Union Find +1
753Cracking the SafeHardDepth-First Search, Graph, Eulerian Circuit
765Couples Holding HandsHardGreedy, Depth-First Search, Breadth-First Search +2
834Sum of Distances in TreeHardTree, Depth-First Search, Graph +1
847Shortest Path Visiting All NodesHardBit Manipulation, Breadth-First Search, Graph +2
882Reachable Nodes In Subdivided GraphHardGraph, Shortest Path, Heap (Priority Queue)
913Cat and MouseHardGraph, Topological Sort, Memoization +3
924Minimize Malware SpreadHardDepth-First Search, Breadth-First Search, Union Find +3
928Minimize Malware Spread IIHardDepth-First Search, Breadth-First Search, Union Find +3
1192Critical Connections in a NetworkHardDepth-First Search, Graph, Biconnected Component
1203Sort Items by Groups Respecting DependenciesHardDepth-First Search, Breadth-First Search, Graph +1
1298Maximum Candies You Can Get from BoxesHardBreadth-First Search, Graph, Array
1368Minimum Cost to Make at Least One Valid Path in a GridHardBreadth-First Search, Graph, Array +3
1377Frog Position After T SecondsHardTree, Depth-First Search, Breadth-First Search +1
1489Find Critical and Pseudo-Critical Edges in Minimum Spanning TreeHardUnion Find, Graph, Minimum Spanning Tree +2
1494Parallel Courses IIHardBit Manipulation, Graph, Dynamic Programming +1
1579Remove Max Number of Edges to Keep Graph Fully TraversableHardUnion Find, Graph
1632Rank Transform of a MatrixHardUnion Find, Graph, Topological Sort +3
1697Checking Existence of Edge Length Limited PathsHardUnion Find, Graph, Array +2
1719Number Of Ways To Reconstruct A TreeHardTree, Graph
1728Cat and Mouse IIHardGraph, Topological Sort, Memoization +5
1761Minimum Degree of a Connected Trio in a GraphHardGraph, Enumeration
1782Count Pairs Of NodesHardGraph, Array, Hash Table +4
1857Largest Color Value in a Directed GraphHardGraph, Topological Sort, Memoization +3
1916Count Ways to Build Rooms in an Ant ColonyHardTree, Graph, Topological Sort +3
1928Minimum Cost to Reach Destination in TimeHardGraph, Array, Dynamic Programming
2045Second Minimum Time to Reach DestinationHardBreadth-First Search, Graph, Shortest Path
2050Parallel Courses IIIHardGraph, Topological Sort, Array +1
2065Maximum Path Quality of a GraphHardGraph, Array, Backtracking
2076Process Restricted Friend RequestsHardUnion Find, Graph
2092Find All People With SecretHardDepth-First Search, Breadth-First Search, Union Find +2
2127Maximum Employees to Be Invited to a MeetingHardDepth-First Search, Graph, Topological Sort
2203Minimum Weighted Subgraph With the Required PathsHardGraph, Shortest Path
2242Maximum Score of a Node SequenceHardGraph, Array, Enumeration +1
2246Longest Path With Different Adjacent CharactersHardTree, Depth-First Search, Graph +3
2290Minimum Obstacle Removal to Reach CornerHardBreadth-First Search, Graph, Array +3
2328Number of Increasing Paths in a GridHardDepth-First Search, Breadth-First Search, Graph +5
2360Longest Cycle in a GraphHardDepth-First Search, Breadth-First Search, Graph +1
2392Build a Matrix With ConditionsHardGraph, Topological Sort, Array +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
2508Add Edges to Make Degrees of All Nodes EvenHardGraph, Hash Table
2577Minimum Time to Visit a Cell In a GridHardBreadth-First Search, Graph, Array +3
2603Collect Coins in a TreeHardTree, Graph, Topological Sort +1
2608Shortest Cycle in a GraphHardBreadth-First Search, Graph
2642Design Graph With Shortest Path CalculatorHardGraph, Design, Shortest Path +1
2646Minimize the Total Price of the TripsHardTree, Depth-First Search, Graph +2
2699Modify Graph Edge WeightsHardGraph, Shortest Path, Heap (Priority Queue)
2846Minimum Edge Weight Equilibrium Queries in a TreeHardTree, Graph, Array +1
2858Minimum Edge Reversals So Every Node Is ReachableHardDepth-First Search, Breadth-First Search, Graph +1
2876Count Visited Nodes in a Directed GraphHardGraph, Memoization, Dynamic Programming
2959Number of Possible Sets of Closing BranchesHardBit Manipulation, Graph, Enumeration +2
2977Minimum Cost to Convert String IIHardGraph, Trie, Array +3
269Alien DictionaryPremiumHardDepth-First Search, Breadth-First Search, Graph +3
499The Maze IIIPremiumHardDepth-First Search, Breadth-First Search, Graph +5
631Design Excel Sum FormulaPremiumHardGraph, Design, Topological Sort +4
1153String Transforms Into Another StringPremiumHardGraph, Hash Table, String
1168Optimize Water Distribution in a VillagePremiumHardUnion Find, Graph, Minimum Spanning Tree +1
1548The Most Similar Path in a GraphPremiumHardGraph, Dynamic Programming
1591Strange Printer IIHardGraph, Topological Sort, Array +1
1724Checking Existence of Edge Length Limited Paths IIPremiumHardUnion Find, Graph, Minimum Spanning Tree
2097Valid Arrangement of PairsHardDepth-First Search, Graph, Eulerian Circuit
2123Minimum Operations to Remove Adjacent Ones in MatrixPremiumHardGraph, Array, Matrix
2204Distance to a Cycle in Undirected GraphPremiumHardDepth-First Search, Breadth-First Search, Union Find +1
2247Maximum Cost of Trip With K HighwaysPremiumHardBit Manipulation, Graph, Dynamic Programming +1
2307Check for Contradictions in EquationsPremiumHardDepth-First Search, Union Find, Graph +1
2371Minimize Maximum Value in a GridPremiumHardUnion Find, Graph, Topological Sort +3
2479Maximum XOR of Two Non-Overlapping SubtreesPremiumHardTree, Depth-First Search, Graph +1
2714Find Shortest Path with K HopsPremiumHardGraph, Shortest Path, Heap (Priority Queue)

When the Graph 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.