leetcode Graph Valid Tree
来源:互联网 发布:寒夜 知乎 编辑:程序博客网 时间:2024/05/02 10:51
Given n
nodes labeled from 0
to n - 1
and a list of undirected edges (each edge is a pair of nodes), write a function to check whether these edges make up a valid tree.
For example:
Given n = 5
and edges = [[0, 1], [0, 2], [0, 3], [1, 4]]
, return true
.
Given n = 5
and edges = [[0, 1], [1, 2], [2, 3], [1, 3], [1, 4]]
, return false
.
Note: you can assume that no duplicate edges will appear in edges
. Since all edges are undirected, [0, 1]
is the same as [1, 0]
and thus will not appear together in edges
.
union-find问题的变种,思路和解决union-find的问题几乎是完全一样的,由于树的定义要求图不能出现环路,因此当find出现相同的根时说明出现回路,返回false,另外一棵树只能有一个根,因此可以设置一个计数器判断最后所剩的根即树的个数是否为1:
private int count;private int[] res;public boolean validTree(int n, int[][] edges) { res=new int[n]; for(int i=0;i<n;i++) res[i]=i; count=n; for(int i=0;i<edges.length;i++){ int left=find(res,edges[i][0]); int right=find(res,edges[i][1]); if(left==right) return false; res[left]=right; count--; } return count==1;}public int find(int[]res,int i){ while(res[i]!=i) i=res[i]; return i;}
0 0
- [Leetcode]Graph Valid Tree
- leetcode Graph Valid Tree
- Leetcode Graph Valid Tree
- LeetCode Graph Valid Tree
- Leetcode - 261. Graph Valid Tree
- LeetCode 261. Graph Valid Tree
- Leetcode 261. Graph Valid Tree
- LeetCode 261. Graph Valid Tree
- Leetcode 261. Graph Valid Tree
- LeetCode 题解(246) : Graph Valid Tree
- [leetcode] 261. Graph Valid Tree 解题报告
- [Leetcode] 261. Graph Valid Tree 解题报告
- Graph Valid Tree
- [LeetCode261] Graph Valid Tree
- 261. Graph Valid Tree
- lintcode:Graph Valid Tree
- Graph Valid Tree
- LintCode_178 Graph Valid Tree
- Server Tomcat v8.0 Server at localhost was unable to start within 45 seconds...
- 【数据结构】稀疏矩阵
- 【问底】徐汉彬:Web系统大规模并发——电商秒杀与抢购
- KMP算法
- UFLDL supervised_dnn_cost.m
- leetcode Graph Valid Tree
- fragment 中加载UI布局和使用findviewbyid
- <hdoj2084>数塔
- 个人对c语言指针的理解
- Windows系统下Maven的安装与在MyEclipse下的配置
- 由 12306.cn 谈谈高并发+高负载网站性能技术
- **【杭电1176】免费馅饼**(经典dp)
- mac中 cocos2dx+eclipse所需的环境变量
- Linux-(C)Mysql API编程学习