本文主要是介绍力扣每日一题 受限条件下可到达节点的数目 DFS,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Problem: 2368. 受限条件下可到达节点的数目
文章目录
- 思路
- 复杂度
- Code
思路
👨🏫 灵神
复杂度
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)
Code
class Solution {int ans = 0;boolean[] set;List<Integer>[] es;public int reachableNodes(int n, int[][] edges, int[] restricted){es = new ArrayList[n];Arrays.setAll(es, x->new ArrayList<>());set = new boolean[n];for (int[] e : edges){int a = e[0];int b = e[1];es[a].add(b);es[b].add(a);}for (int x : restricted)set[x] = true;dfs(0);return ans;}private void dfs(int x){if (set[x])return;ans++;set[x] = true;for (int y : es[x])dfs(y);}
}
这篇关于力扣每日一题 受限条件下可到达节点的数目 DFS的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!