[LeetCode]310. Minimum Height Trees
来源:互联网 发布:淘宝新开网店如何推广 编辑:程序博客网 时间:2024/04/30 12:26
https://leetcode.com/problems/minimum-height-trees/?tab=Description
找到图转为数值后的最低深度时的根节点
根节点一定是图的最长路径的中间节点
不停删除最外层的叶子节点,直到剩下节点小于等于两个就是所求
public class Solution { public List<Integer> findMinHeightTrees(int n, int[][] edges) { if (n == 1) { return Collections.singletonList(0); } List<HashSet<Integer>> all = new ArrayList(n); for (int i = 0; i < n; i++) { all.add(new HashSet<Integer>()); } for (int[] edge : edges) { int i1 = edge[0]; int i2 = edge[1]; all.get(i1).add(i2); all.get(i2).add(i1); } List<Integer> leaves = new ArrayList(); for (int i = 0; i < all.size(); i++) { if (all.get(i).size() == 1) { leaves.add(i); } } while (n > 2) { n -= leaves.size(); List<Integer> newLeaves = new ArrayList(); for (int i = 0; i < leaves.size(); i++) { int j = all.get(leaves.get(i)).iterator().next(); all.get(j).remove(leaves.get(i)); if (all.get(j).size() == 1) { newLeaves.add(j); } } leaves = newLeaves; } return leaves; }}
0 0
- Leetcode 310. Minimum Height Trees
- [leetcode] 310. Minimum Height Trees
- 310. Minimum Height Trees LeetCode
- leetcode 310. Minimum Height Trees
- LeetCode *** 310. Minimum Height Trees
- 【LeetCode】310. Minimum Height Trees
- [leetcode] 310.Minimum Height Trees
- leetcode-310. Minimum Height Trees
- [leetcode] 310. Minimum Height Trees
- 【LeetCode】310. Minimum Height Trees
- LeetCode 310. Minimum Height Trees
- Leetcode 310. Minimum Height Trees
- [LeetCode]310. Minimum Height Trees
- Leetcode: 310.Minimum Height Trees
- 【Leetcode】310. Minimum Height Trees
- LeetCode 310. Minimum Height Trees
- leetcode-310. Minimum Height Trees
- Leetcode 310. Minimum Height Trees
- Ubuntu14.04下MRtrix3安装
- linux之vim文本编辑器
- 带着问题学算法之回溯法与八皇后问题
- 单例模式大全
- ReactNative学习实例(五)Picker和ProgressBar
- [LeetCode]310. Minimum Height Trees
- 调试手机中数据库的福音:Android-Debug-Database
- 使用OpenCV&&C++进行模板匹配
- 第一行代码第二版(郭霖著)笔记之第一章(你的第一行Android代码)
- HDU 1090 JAVA
- 010 editor OAT解析模板
- Oracle与Sql Serer的链接桥梁之透明网关的部署与配置详解(四)透明网关核心配置
- com口通讯数据处理
- Java代理讨论之静态代理