找出星型图的中点

2024-03-01 12:32
文章标签 中点 找出 星型

本文主要是介绍找出星型图的中点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原题指路

找出星型图的中点

题目描述

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

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

解题思路

图片1.png
这道题有个十分关键的信息——只有中心点才会有 n − 1 n-1 n1条与之关联的边,即整张图中只有一个点的度为 n − 1 n-1 n1,且为最大。
所以,接下来其实就可以直接遍历整张图求每个点的度,然后输出度最大的点即可。

时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( n ) O(n) O(n)

然而,小丑竟是我自己,在比赛结束后,我看了题解才发现这道题是星状图,且只有一个中心点……所以直接输出前两个边中的公共点即可。

时间复杂度: O ( 1 ) O(1) O(1)
空间复杂度: O ( 1 ) O(1) O(1)

代码1

class Solution 
{public:int findCenter(vector<vector<int>>& edges) {int len = edges.size();int point[100001] = {0};int max = 0;for(int i = 0; i < len; i++){point[edges[i][0]]++;point[edges[i][1]]++;if(point[edges[i][0]] > point[max])max = edges[i][0];if(point[edges[i][1]] > point[max])max = edges[i][1];}return max;}
};

代码2

class Solution:def findCenter(self, edges: List[List[int]]) -> int:return edges[0][0] if edges[0][0] in edges[1] else edges[0][1]

这篇关于找出星型图的中点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/762451

相关文章

找出php中可能有问题的代码行

前言 当你发现一个平时占用cpu比较少的进程突然间占用cpu接近100%时,你如何找到导致cpu飙升的原因?我的思路是,首先找到进程正在执行的代码行,从而确定可能有问题的代码段。然后,再仔细分析有问题的代码段,从而找出原因。 如果你的程序使用的是c、c++编写,那么你可以很容易的找到正在执行的代码行。但是,程序是php编写的,如何找到可能有问题的代码行呢?这个问题就是本文要解决的问题。 背景

找出有毒的那一瓶药

找出有毒的那一瓶药 找出有毒的那一瓶药问题描述求解方法二进制编码方法详细示例 找出有毒的那一瓶药 问题描述 有47瓶药,其中只有一瓶有毒。从中毒到死亡时间为4天,问最少准备几只老鼠,在4天时间内找出有毒的药? 求解方法 要在4天内确定有毒药瓶,最少需要 6 只老鼠。以下是如何使用这 6 只老鼠来找出有毒药瓶的方法。 二进制编码方法 药瓶编号: 将47瓶药瓶编号从1到

js,找出两个数的最大公约数

/*比如说有要求a、b两个整数的最大公约数,a>b,那么我们先用a除以b,得到商8,余数r1:a÷b=q1…r1 我们当然也可以把上面这个式子改写成乘法式:a=b*q1+r1     如果r1=0,那么b就是a、b的最大公约数。 要是r1≠0,就继续除,用b除以r1,我们也可以有和上面一样的式子:b=r1*q2+r2    如果余数r2=0,那么r1就是所求的最大公约数。*/ fun

js算法题,给任意一个偶数,找出他的所有的质数因子

/*给任意一个偶数,找出他的所有的质数因子*/ function primeFactor(n){     var factors=[],            divistor=2;     if(typeof n !=='number'||!Number.isInteger(n)){          return 0;     }; //如果不是偶数返回0,如果是0,返回0

某PO手机市场竞争分析,巧用波特五力分析法找出核心竞争力!

某PO手机主要从事手机的生产与销售,最近推出了新款 Reno 系列 5G 手机。当前,苹果占据了高端市场,华为占据了中高端市场,而某 PO 手机则在剩余市场中与某 VO 和某米竞争。近年来,某 PO手机凭借中端 R 系列逐步取得市场份额。在这样的背景下,我们运用波特五力模型来分析某 PO 手机的外部环境。 1、波特五力模型案例分析:某PO手机 1.1 新进入者的威胁 由于电子产品市场竞争激烈

数论 - 整除问题 --- 整数集合中找出3的最大倍数

Mean:   题目描述:给一个包含非负整数的数组(长度为n),找出由这些数字组成的最大的3的倍数,没有的话则输出impossible。 analyse: 首先想到的就是直接暴力,这是最蠢的方法,数据一大的话,必会TLE。 直接用蛮力的话,生成所有的组合,为 2^n个,对每个数字再进行比较判断,需要 O(n)的时间,因为n可能会比较大,需要每个位的比较。总的时间复杂度为O(n * 2

算法/编程练习:找出若干个数使其和最接近于M

找出若干个数使其和最接近于M 1. 题目 给定一个由正数组成的列表alts,一个目标数M需要从alts中选取若干个备选数,使其和为M若找不到和刚好与M相等的备选数列表,则返回和与M最接近的备选数列表若有多个结果,返回一个即可eg1.输入: alts = [10, 9, 8, 7, 6, 5]M = 22输出: [10, 7, 5] 或 [9, 8, 5]eg2.输入: alts =

Open3D mesh 模型精细化处理--中点剖分

目录 一、概述 1.1原理 1.2实现步骤 二、代码实现 2.1关键函数 输入参数 输出参数 三、实现效果 3.1原始mesh 3.2精细化mesh Open3D点云算法汇总及实战案例汇总的目录地址: Open3D点云算法与点云深度学习案例汇总(长期更新)-CSDN博客 一、概述         在三维模型处理过程中,精细化处理(subdivision)是一个

找出未出现的最小正整数

给定一个含n(n≥1)个整数的数组,找出数组中未出现的最小正整数。例如,数组{-5, 3, 2, 3}中未出现的最小正整数是1;数组{1, 2, 3}中未出现的最小正整数是4。 方法一: 思想。对数组进行快速排序,然后进行遍历数组。 ①第一个元素大于0,且不为1,则最后返回1;出现正数之前的元素为负数,且第一个正数不为1,则返回1。例如:-1,2,3;例如,2,3,4  ②现的正整数之间差

LeetCode 重构二叉搜索数,即找出两个被交换的节点

原题:Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing its structure. Note: A solution using O(n) space is pretty straight forward. Could you de