Skip to main content
Back to problems
Leetcode
Medium
Graphs
Graph Connectivity
Sets
3310. Remove Methods From Project

Given a project represented as a set of methods and dependency relations, remove a method and determine which other methods can no longer remain in the project because they become disconnected from the required starting point.

Acceptance 100%
Also Available On
Other platform versions and source mappings for the same problem.

Remove Methods From Project

gfg
Problem Statement

Problem

You are given a project consisting of several methods. Some methods call other methods, forming dependency relations. One method is designated as the entry point of the project.

You need to remove a chosen method from the project. After that removal, some other methods may no longer be reachable from the entry point, so they must also be removed.

Return the remaining methods after all affected methods are removed.

In other words, starting from the entry method, keep only the methods that are still reachable after deleting the specified method and everything that becomes unreachable because of it.

Clarification

  • A method can depend on multiple other methods.
  • Removing one method may cause a cascade of removals if some methods lose all valid paths from the entry point.
  • The final answer should reflect the methods that are still part of the usable project.

Input Format

The input format is not strictly specified in the source metadata. A standard formulation is:

  • an integer n for the number of methods
  • a directed list of dependency edges u -> v meaning method u calls method v
  • an entry method start
  • a method remove that must be deleted

Output Format

Return the set or list of methods that remain reachable from start after removing remove and any methods that become unreachable as a result.

Constraints

No official constraints are provided in the source metadata.

A typical interview version would use:

  • 1 <= n <= $10^{5}$
  • dependency relations form a directed graph
  • method identifiers are unique integers or strings
Examples
Sample cases returned by the problem API.

Example 1

Input

methods = [1,2,3,4,5]
edges = [[1,2],[2,3],[2,4],[4,5]]
start = 1
remove = 2

Output

[1]

Explanation

Once method 2 is removed, every method that depended on reaching 2 becomes unreachable from the entry method 1. Only the entry method itself remains.

Example 2

Input

methods = [1,2,3,4,5]
edges = [[1,2],[1,3],[2,4],[3,5]]
start = 1
remove = 4

Output

[1,2,3,5]

Explanation

Removing 4 does not affect reachability of the other methods. Methods 1, 2, 3, and 5 remain reachable from the entry method.

Premium problem context

Unlock deeper context for this problem

Premium adds guided hints, editorial links, similar variants, discussion resources, and concept maps so you can understand why a problem matters, not just solve it once.

Guided hints
Editorial and discussion links
Concept map and variants
Sign in to unlock
Track your progress
Sign in to bookmark this problem, save notes, and manage its revision plan.