当前位置:网站首页>LeetCode 1557. The minimum number of points that can reach all points
LeetCode 1557. The minimum number of points that can reach all points
2022-07-06 16:43:00 【Daylight629】
1557. The minimum number of points that can reach all points
To give you one Directed acyclic graph , n Node number is 0 To n-1 , And an array of edges edges , among edges[i] = [fromi, toi] Represents a slave point fromi point-to-point toi The directed side of .
Find the smallest set of points so that all points in the graph can be reached from these points . The problem guarantees that the solution exists and is unique .
You can return these node numbers in any order .
Example 1:

Input :n = 6, edges = [[0,1],[0,2],[2,5],[3,4],[4,2]]
Output :[0,3]
explain : All nodes cannot be reached from a single node . from 0 We can get to [0,1,2,5] . from 3 We can get to [3,4,2,5] . So we output [0,3] .
Example 2:

Input :n = 5, edges = [[0,1],[2,1],[3,1],[1,4],[2,4]]
Output :[0,2,3]
explain : Note the node 0,3 and 2 Unable to reach... From other nodes , So we have to include them in the result point set , These points can reach the node 1 and 4 .
Tips :
2 <= n <= 10^51 <= edges.length <= min(10^5, n * (n - 1) / 2)edges[i].length == 20 <= fromi, toi < n- All point pairs
(fromi, toi)Different from each other .
Two 、 Method 1
Looking for penetration 0 The node of is
class Solution {
public List<Integer> findSmallestSetOfVertices(int n, List<List<Integer>> edges) {
List<Integer> res = new ArrayList<>();
Set<Integer> set = new HashSet<>();
for (List<Integer> edge : edges) {
set.add(edge.get(1));
}
for (int i = 0; i < n; i++) {
if (!set.contains(i)) {
res.add(i);
}
}
return res;
}
}
Complexity analysis
Time complexity :O(m+n), among m Is the number of edges in the graph ,n Is the number of nodes in the graph . You need to traverse all the edges to get nodes with non-zero penetration , Then traverse all nodes and keep the nodes with zero penetration .
Spatial complexity :O(n), among n Is the number of nodes in the graph . You need to use a collection to store nodes with non-zero penetration , The number of nodes in the collection will not exceed n.
边栏推荐
- Chapter 2 shell operation of hfds
- 【锟斤拷】的故事:谈谈汉字编码和常用字符集
- Chapter 6 rebalance details
- It is forbidden to trigger onchange in antd upload beforeupload
- (lightoj - 1349) Aladdin and the optimal invitation (greed)
- Summary of FTP function implemented by qnetworkaccessmanager
- Chapter III principles of MapReduce framework
- Codeforces Round #771 (Div. 2)
- Research Report on market supply and demand and strategy of China's tetraacetylethylenediamine (TAED) industry
- Kubernetes cluster deployment
猜你喜欢

FLV格式详解

Advancedinstaller installation package custom action open file

Codeforces round 797 (Div. 3) no f

QT style settings of qcobobox controls (rounded corners, drop-down boxes, up expansion, editable, internal layout, etc.)

Li Kou: the 81st biweekly match

Simply try the new amp model of deepfacelab (deepfake)

Spark独立集群Worker和Executor的概念

Spark independent cluster dynamic online and offline worker node

Oneforall installation and use

Audio and video development interview questions
随机推荐
(POJ - 1458) common subsequence (longest common subsequence)
SQL quick start
Double specific tyrosine phosphorylation regulated kinase 1A Industry Research Report - market status analysis and development prospect prediction
Codeforces round 797 (Div. 3) no f
Chapter 6 rebalance details
Gridhome, a static site generator that novices must know
Codeforces Round #802(Div. 2)A~D
(lightoj - 1349) Aladdin and the optimal invitation (greed)
Cmake Express
js封装数组反转的方法--冯浩的博客
(lightoj - 1354) IP checking (Analog)
业务系统兼容数据库Oracle/PostgreSQL(openGauss)/MySQL的琐事
Oneforall installation and use
Codeforces Global Round 19
JS time function Daquan detailed explanation ----- AHAO blog
Research Report on market supply and demand and strategy of China's four seasons tent industry
js时间函数大全 详细的讲解 -----阿浩博客
图像处理一百题(11-20)
Problem - 922D、Robot Vacuum Cleaner - Codeforces
How to insert mathematical formulas in CSDN blog