当前位置: 首页 > news >正文

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

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

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

给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 uivi 之间存在一条边。请你找出并返回 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^5
  • edges.length == n - 1
  • edges[i].length == 2
  • 1 <= ui, vi <= n
  • ui != 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;
    }
}

相关文章:

  • 服务器socket端口绑定失败解决方案
  • 数学建模之数学模型-1:线性规划
  • 【天线】IFA天线知识点摘抄
  • 1.20作业
  • github 怎么创建一个私有repository 并从另外一台电脑拉取下来更新
  • cuda安装
  • poi 的导入导出 报表
  • 聊聊istio服务网格
  • leetcode_位运算 191.位1的个数
  • 网络安全知识:网络安全网格架构
  • List的基本功能(1)
  • Java List 自定义对象排序 Java 8 及以上版本使用 Stream API
  • 服务器释放screen资源(Detached状态并不会释放资源)
  • C++ 设计模式 - 策略模式
  • 【SQL实验】触发器
  • 矩阵-矩阵置零
  • 并查集算法篇上期:并查集原理及实现
  • FreeSWITCH Alpine 安装
  • 【股票数据API接口35】如何获取股票当天分价成交占比数据之Python、Java等多种主流语言实例代码演示通过股票数据接口获取数据
  • 亚马逊的API服务怎么使用?
  • 建模外包网站/百度推广自己怎么做
  • iis网站建设中/宁波seo教程app推广
  • king cms网站建设/今日新闻头条新闻
  • 东莞市建网站/精准营销系统
  • 什么伪原创网站好/电脑培训班一般要学多久
  • 国内免费网站空间/seo优化是啥