LeetCode-802. Find Eventual Safe States

网友投稿 932 2022-10-03

LeetCode-802. Find Eventual Safe States

LeetCode-802. Find Eventual Safe States

In a directed graph, we start at some node and every turn, walk along a directed edge of the graph.  If we reach a node that is terminal (that is, it has no outgoing directed edges), we stop.

Now, say our starting node is eventually safe if and only if we must eventually walk to a terminal node.  More specifically, there exists a natural number ​​K​​​ so that for any choice of where to walk, we must have stopped at a terminal node in less than ​​K​​ steps.

Which nodes are eventually safe?  Return them as an array in sorted order.

The directed graph has ​​N​​​ nodes with labels ​​0, 1, ..., N-1​​​, where ​​N​​​ is the length of ​​graph​​​.  The graph is given in the following form: ​​graph[i]​​​ is a list of labels ​​j​​​ such that ​​(i, j)​​ is a directed edge of the graph.

Example:Input: graph = [[1,2],[2,3],[5],[0],[5],[],[]]Output: [2,4,5,6]Here is a diagram of the above graph.

Note:

​​graph​​​ will have length at most​​10000​​.The number of edges in the graph will not exceed​​32000​​.Each​​graph[i]​​​ will be a sorted list of different integers, chosen within the range​​[0, graph.length - 1]​​.

题解:

深度优先搜索,cycle数组判断当前位置是否为环路节点,-1代表未访问,0代表非环也就是最终安全状态,1代表环路。

class Solution {public: void dfs(vector &cycle, vector> &graph, int begin) { if (cycle[begin] == -1) { cycle[begin] = 1; for (int i = 0; i < graph[begin].size(); i++) { dfs(cycle, graph, graph[begin][i]); if (cycle[graph[begin][i]] == 1) { return; } } cycle[begin] = 0; } } vector eventualSafeNodes(vector>& graph) { if (graph.empty() == true) { return {}; } int n = graph.size(); vector cycle(n, -1); for (int i = 0; i < n; i++) { dfs(cycle, graph, i); } vector res; for (int i = 0; i < n; i++) { if (cycle[i] == 0) { res.push_back(i); } } return res; }};

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序怎么新建页面(微信小程序怎么做网页)
下一篇:华为-iNOC产品部-杨辉三角的变形
相关文章

 发表评论

暂时没有评论,来抢沙发吧~