关注
拓扑排序的思路,可惜当时没做完 import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Queue; import java.util.Scanner; import java.util.TreeMap; public class Demo3 { public static void main(String[] args) { // TODO Auto-generated method stub Scanner in = new Scanner(System.in); int n = in.nextInt(); int num[][] = new int[n-1][2]; for(int i=0;i<n-1;i++) { num[i][0] = in.nextInt(); num[i][1] = in.nextInt(); } int indrgee[] = new int[n+1]; //Map<Integer,List<Integer>> map = new HashMap<Integer, List<Integer>>(); List<Integer> list = new ArrayList<>(); for(int i=1;i<=n;i++) list.add(i); for(int i=0;i<n-1;i++) { /*if(map.containsKey(num[i][0])) { map.get(num[i][0]).add(num[i][1]); }else { List<Integer> list = new ArrayList<Integer>(); list.add(num[i][1]); map.put(num[i][0], list); }*/ indrgee[num[i][0]]++; } Map<Integer, Integer> treemap = new TreeMap<>(); boolean isDelete[] = new boolean[n+1]; //int count=0; while(list.size()>0) { Queue<Integer> queue = new LinkedList<>(); for(int i=1;i<=n;i++) { if(!isDelete[i]&&(indrgee[i]==0||indrgee[i]==1)) { queue.offer(i); list.remove(new Integer(i)); isDelete[i]=true; /*System.out.println("删除:"+i); for(int j:list) { System.out.println(j); }*/ } } while(!queue.isEmpty()) { int temp = queue.poll(); for(int i=0;i<n-1;i++) { if(num[i][1]==temp) { indrgee[num[i][0]]--; } } if(!treemap.containsKey(temp)) { treemap.put(temp, 1); }else { treemap.put(temp, treemap.get(temp)+1); } } for(int i:list) { if(!treemap.containsKey(i)) { treemap.put(i, 1); }else { treemap.put(i, treemap.get(i)+1); } } } for(Map.Entry<Integer, Integer> entry:treemap.entrySet()) { System.out.println("节点:"+entry.getKey()+",次数:"+entry.getValue()); } /*List<Integer> res = new ArrayList<Integer>(treemap.values()); for (int i = 0; i < res.size(); i++) { if(i==res.size()-1) { System.out.print(res.get(i)); }else { System.out.print(res.get(i)+" "); } }*/ } }
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 同学们,后端开发其实没你想的那么难2.9W
- 2... 分享一下年底被广州某游戏公司裁员的经历2.2W
- 3... 双非腾讯云智后台开发oc面经1.0W
- 4... 作为面试官,比较喜欢听到「实习收获」回答是什么样的?9345
- 5... 牛友们是选爱情还是选前途?9119
- 6... 27届前端小趴菜如何拿下三个大厂offer 📚7778
- 7... 我是今年的高考生7074
- 8... 在携程实习后,我的想法更加坚定了6758
- 9... 乡下人第一次到上海租房,隔壁sexy声音搞的我火气很大5648
- 10... 不是,你一个应届毕业生用什么BOSS啊!5368
正在热议
更多
# 我的实习收获 #
26020次浏览 452人参与
# 如果有时光机,你最想去到哪个年纪? #
46855次浏览 795人参与
# 实习吐槽大会 #
27586次浏览 132人参与
# 非技术岗简历怎么写 #
209396次浏览 2856人参与
# 晒一晒你的工位 #
84667次浏览 301人参与
# 我的租房踩坑经历 #
22308次浏览 247人参与
# 打工人的工作餐日常 #
40328次浏览 343人参与
# 穿越回高考你还会选现在的专业吗 #
19085次浏览 238人参与
# 毕业旅行去哪玩儿 #
1075次浏览 32人参与
# 怎么防止在试用期被辞退 #
122197次浏览 910人参与
# 双非能在秋招上岸吗? #
214823次浏览 1133人参与
# 26届秋招投递记录 #
1525次浏览 40人参与
# 2025牛客秋招季 #
1530次浏览 42人参与
# 携程求职进展汇总 #
530764次浏览 3958人参与
# 夸夸我的求职搭子 #
190904次浏览 1891人参与
# 实习中的菜狗时刻 #
368243次浏览 3304人参与
# 工作压力大怎么缓解 #
79418次浏览 936人参与
# 今年形式下双非本找得到工作吗 #
141873次浏览 1070人参与
# 我的第一份实习怎么找的 #
108136次浏览 1064人参与
# 打工人锐评公司红黑榜 #
145479次浏览 908人参与