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

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

力扣题目: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;
    }
}


http://www.kler.cn/a/557865.html

相关文章:

  • 深度学习驱动下的字符识别:挑战与创新
  • 将 Vue 项目打包后部署到 Spring Boot 项目中的全面指南
  • C# 从基础神经元到实现在0~9数字识别
  • 蓝耘智算平台携手 DeepSeek,开启 AI 超算新纪元
  • tauri2实现监听记住窗口大小变化,重启回复之前的窗口大小
  • Git 工作流程
  • 广东双9研0,目标腾讯,读研三年如何规划学习?
  • java 环境 redis信创后整合jedis
  • 视频大小怎么计算?视频码率是什么,构成视频清晰度的核心要素!
  • Pytorch实现之结合SE注意力和多种损失的特征金字塔架构GAN的图像去模糊方法
  • js如何直接下载文件流
  • #渗透测试#批量漏洞挖掘#Progress Software Flowmon命令执行漏洞(CVE-2024-2389)
  • STM32MP157A单片机驱动--控制拓展版的灯实现流水效果
  • 从函数到神经网络
  • Elasticsearch常用的查询条件
  • [Android]使用WorkManager循环执行任务
  • 【开放词汇分割】Image Segmentation Using Text and Image Prompts
  • 设计心得——解耦的实现技术
  • 打开Firefox自动打开hao360.hjttif.com标签解决方案
  • java Web