当前位置:网站首页>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.
边栏推荐
- QT implementation window gradually disappears qpropertyanimation+ progress bar
- Hbuilder x format shortcut key settings
- Chapter 7__ consumer_ offsets topic
- 使用jq实现全选 反选 和全不选-冯浩的博客
- Tert butyl hydroquinone (TBHQ) Industry Research Report - market status analysis and development prospect forecast
- js封装数组反转的方法--冯浩的博客
- 300th weekly match - leetcode
- 解决Intel12代酷睿CPU单线程调度问题(二)
- Educational Codeforces Round 122 (Rated for Div. 2)
- Li Kou: the 81st biweekly match
猜你喜欢

The concept of spark independent cluster worker and executor

Chapter 6 datanode

Audio and video development interview questions

图像处理一百题(11-20)

ByteDance new programmer's growth secret: those glittering treasures mentors

Summary of game theory

Submit several problem records of spark application (sparklauncher with cluster deploy mode)

Base dice (dynamic programming + matrix fast power)

第2章 HFDS的Shell操作

OneForAll安装使用
随机推荐
Codeforces Round #799 (Div. 4)A~H
第6章 DataNode
< li> dot style list style type
力扣leetcode第 280 场周赛
(POJ - 3186) treatments for the cows (interval DP)
本地可视化工具连接阿里云centOS服务器的redis
useEffect,函數組件掛載和卸載時觸發
第5章 消费者组详解
Codeforces Round #802(Div. 2)A~D
Submit several problem records of spark application (sparklauncher with cluster deploy mode)
Codeforces Round #803 (Div. 2)A~C
Codeforces Global Round 19
OneForAll安装使用
Li Kou - 298th weekly match
MariaDB的安装与配置
Effet d'utilisation, déclenché lorsque les composants de la fonction sont montés et déchargés
Study notes of Tutu - process
字节跳动新程序员成长秘诀:那些闪闪发光的宝藏mentor们
Basic principles of video compression coding and audio compression coding
Research Report on market supply and demand and strategy of China's four flat leadless (QFN) packaging industry