LeetCode Problem

How to Solve Network Recovery Pathways

The problem involves finding valid paths in a directed acyclic graph (DAG) where some nodes are offline. You need to calculate the maximum minimum edge cost among valid paths, using constraints like node availability and cost limits.

GhostInterview Help

Need help with Network Recovery Pathways without spending extra time grinding it?

GhostInterview can read Network Recovery Pathways from a screenshot, generate the answer path, explain the complexity, and support solver-first interview workflows when you need direct help fast.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.

Problem #3620Graph indegree plus topological orderingReviewed 2026-03-08
Difficulty
Hard
Primary pattern
Graph indegree plus topological ordering
Answer-first problem summary
Step-by-step approach and complexity
GhostInterview solver workflow

The problem involves finding valid paths in a directed acyclic graph (DAG) where some nodes are offline. You need to calculate the maximum minimum edge cost among valid paths, using constraints like node availability and cost limits.

Problem Statement

You are given a directed acyclic graph (DAG) with n nodes and m edges. Each edge is represented by [ui, vi, costi], which indicates a one-way communication from node ui to node vi with a recovery cost of costi. Some nodes are offline, and you are given a boolean array online where online[i] = true means node i is online, and nodes 0 and n-1 are always online.

A valid path from node 0 to node n-1 is one where all nodes along the path are online, and the total cost of the path does not exceed a given value k. You need to find the maximum minimum edge-cost of any valid path from 0 to n-1.

Examples

Example 1

Input: edges = [[0,1,5],[1,3,10],[0,2,3],[2,3,4]], online = [true,true,true,true], k = 10

Output: 3

The graph has two possible routes from node 0 to node 3: Path 0 → 1 → 3 Total cost = 5 + 10 = 15 , which exceeds k ( 15 > 10 ), so this path is invalid. Path 0 → 2 → 3 Total cost = 3 + 4 = 7 <= k , so this path is valid. The minimum edge‐cost along this path is min(3, 4) = 3 . There are no other valid paths. Hence, the maximum among all valid path‐scores is 3.

Example 2

Input: edges = [[0,1,7],[1,4,5],[0,2,6],[2,3,6],[3,4,2],[2,4,6]], online = [true,true,true,false,true], k = 12

Output: 6

Node 3 is offline, so any path passing through 3 is invalid. Consider the remaining routes from 0 to 4: Path 0 → 1 → 4 Total cost = 7 + 5 = 12 <= k , so this path is valid. The minimum edge‐cost along this path is min(7, 5) = 5 . Path 0 → 2 → 3 → 4 Node 3 is offline, so this path is invalid regardless of cost. Path 0 → 2 → 4 Total cost = 6 + 6 = 12 <= k , so this path is valid. The minimum edge‐cost along this path is min(6, 6) = 6 . Among the two valid paths, their scores are 5 and 6. Therefore, the answer is 6.

Constraints

  • n == online.length
  • 2 <= n <= 5 * 104
  • 0 <= m == edges.length <= min(105, n * (n - 1) / 2)
  • edges[i] = [ui, vi, costi]
  • 0 <= ui, vi < n
  • ui != vi
  • 0 <= costi <= 109
  • 0 <= k <= 5 * 1013
  • online[i] is either true or false, and both online[0] and online[n − 1] are true.
  • The given graph is a directed acyclic graph.

Solution Approach

Graph Construction and Topological Sorting

Begin by building the graph using the given edges and performing a topological sort on the nodes. This helps in efficiently processing each node and edge in the correct order while respecting dependencies.

Binary Search for Maximum Path Cost

Apply binary search on the minimum edge cost to find the highest valid path. For each potential cost, check if a path exists from node 0 to node n-1 with edges having costs greater than or equal to the current value.

Dynamic Programming to Validate Paths

Use dynamic programming to track the maximum valid path costs from node 0 to other nodes. For each potential path cost, verify if it’s possible to reach node n-1 while ensuring all nodes on the path are online.

Complexity Analysis

MetricValue
TimeDepends on the final approach
SpaceDepends on the final approach

Time complexity depends on the number of edges and the binary search for the minimum edge cost. Space complexity is influenced by the graph structure and dynamic programming states, both of which scale with the number of nodes and edges in the graph.

What Interviewers Usually Probe

  • Candidate understands the importance of topological sorting in a directed acyclic graph.
  • Candidate can explain the concept of binary search applied to this problem's constraints.
  • Candidate demonstrates knowledge of dynamic programming for path validation and optimization.

Common Pitfalls or Variants

Common pitfalls

  • Forgetting to handle offline nodes correctly when checking for valid paths.
  • Incorrectly applying binary search without verifying that all conditions hold for the chosen minimum edge-cost.
  • Failing to optimize the approach for large graphs and edge cases like minimal or maximal path costs.

Follow-up variants

  • Consider paths with additional constraints, such as node weights or multiple recovery cost limits.
  • Modify the problem to consider undirected graphs or graphs with cycles.
  • Increase the complexity by adding time constraints or more nodes and edges.

How GhostInterview Helps

  • GhostInterview's algorithmic insights guide you through optimizing graph traversal using topological ordering and dynamic programming.
  • Binary search assistance in evaluating potential solutions helps pinpoint the best strategy for valid path cost determination.
  • The platform helps in structuring your approach, enabling efficient and scalable solutions for large graphs.

Topic Pages

FAQ

What is the key algorithmic approach for solving the Network Recovery Pathways problem?

The key approach combines graph indegree analysis, topological sorting, and binary search on the edge costs to find the maximum valid path score.

How do offline nodes affect the valid paths in this problem?

Offline nodes make any path that passes through them invalid. The solution must ensure all nodes in the path from node 0 to node n-1 are online.

What role does binary search play in the Network Recovery Pathways problem?

Binary search is used to determine the maximum minimum edge-cost for valid paths, optimizing the search for the correct solution efficiently.

How can dynamic programming help in solving this problem?

Dynamic programming is used to track and verify the maximum valid path cost by processing each node and edge, ensuring optimal performance.

What are some common challenges when solving the Network Recovery Pathways problem?

Challenges include handling large graphs efficiently, managing offline nodes, and ensuring correct application of binary search for path validation.

GhostInterview Solver

Need direct help with Network Recovery Pathways instead of spending more time grinding it?

Download GhostInterview when you want a LeetCode solver, not another long practice loop. Capture Network Recovery Pathways from a screenshot, get the answer path and complexity, and use supported stealth workflows that stay outside captured layers.

Screenshot Input

Capture the prompt fast instead of rewriting the problem by hand.

Answer + Complexity

Get the solution path, trade-offs, and complexity summary in one pass.

Stealth Workflow

Stay outside captured layers on supported screen-share workflows.