主页 > 手机  > 

数据结构-图-找出星型图的中心节点

数据结构-图-找出星型图的中心节点

力扣题目:1791. 找出星型图的中心节点 - 力扣(LeetCode)

有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。

给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。

示例 1:

输入:edges = [[1,2],[2,3],[4,2]] 输出:2 解释:如上图所示,节点 2 与其他每个节点都相连,所以节点 2 是中心节点。

示例 2:

输入:edges = [[1,2],[5,1],[1,3],[1,4]] 输出:1

提示:

3 <= n <= 10^5edges.length == n - 1edges[i].length == 21 <= ui, vi <= nui != vi题目数据给出的 edges 表示一个有效的星型图

算法如下:

import java.util.HashMap; import java.util.Map; class Solution { //找出中心节点 public int findCenter(int[][] edges) { //出现最多的数字就是中心节点 int L=edges.length; Map<Integer,Integer> map=new HashMap<>(); int maxKey=Integer.MIN_VALUE; int tem=0; for(int i=0;i<L;i++) { int []a=edges[i]; for(int j=0;j<2;j++) { //记录顶点出现的次数 if(map.containsKey(a[j])) { map.put(a[j],map.get(a[j])+1); if(map.get(a[j])>maxKey) { tem=a[j]; } }else { map.put(a[j],1); } } } return tem; } }

标签:

数据结构-图-找出星型图的中心节点由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“数据结构-图-找出星型图的中心节点