当前位置:网站首页>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^5
1 <= edges.length <= min(10^5, n * (n - 1) / 2)
edges[i].length == 2
0 <= 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.
边栏推荐
- Market trend report, technical innovation and market forecast of double-sided foam tape in China
- Investigation report of bench type Brinell hardness tester industry - market status analysis and development prospect prediction
- Solve the single thread scheduling problem of intel12 generation core CPU (II)
- Advancedinstaller installation package custom action open file
- (lightoj - 1354) IP checking (Analog)
- Codeforces Round #798 (Div. 2)A~D
- It is forbidden to trigger onchange in antd upload beforeupload
- China double brightening film (dbef) market trend report, technical dynamic innovation and market forecast
- Ffmpeg command line use
- Classic application of stack -- bracket matching problem
猜你喜欢
Simple records of business system migration from Oracle to opengauss database
第7章 __consumer_offsets topic
Chapter 5 yarn resource scheduler
Solve the single thread scheduling problem of intel12 generation core CPU (II)
js封装数组反转的方法--冯浩的博客
原生js实现全选和反选的功能 --冯浩的博客
业务系统从Oracle迁移到openGauss数据库的简单记录
(lightoj - 1323) billiard balls (thinking)
图像处理一百题(1-10)
Installation and configuration of MariaDB
随机推荐
Raspberry pie 4B installation opencv3.4.0
Market trend report, technological innovation and market forecast of desktop electric tools in China
China double brightening film (dbef) market trend report, technical dynamic innovation and market forecast
Anaconda下安装Jupyter notebook
Codeforces Round #798 (Div. 2)A~D
Native JS realizes the functions of all selection and inverse selection -- Feng Hao's blog
Cmake error: could not create named generator visual studio 16 2019 solution
Codeforces Global Round 19
Hbuilder x format shortcut key settings
Codeforces Global Round 19
解决Intel12代酷睿CPU单线程只给小核运行的问题
SQL quick start
SF smart logistics Campus Technology Challenge (no T4)
Log statistics (double pointer)
300th weekly match - leetcode
QT realizes window topping, topping state switching, and multi window topping priority relationship
Raspberry pie 4b64 bit system installation miniconda (it took a few days to finally solve it)
Simple records of business system migration from Oracle to opengauss database
Chapter 1 overview of MapReduce
Kubernetes集群部署