联系我
×

1791. 找出星型图的中心节点

查看原题

在这里插入图片描述

解题思路(哈希)

将二维数组转变为一维数组,求出每个数字出现的个数,出现个数为n-1的那个就是中心节点。

代码

/**
 * @param {number[][]} edges
 * @return {number}
 */
var findCenter = function(edges) {
	const array = edges.toString().split(',');
	const n = edges.length;
	let map = new Map();
	for (const item of array) {
		if(map.has(item)) {
			if(map.get(item) === n - 1 && item !== ','){
				return item;
			}else{
				map.set(item,map.get(item) + 1);
			}
			
		}else {
			map.set(item,1);
		}
	}
};

在这里插入图片描述

解题思路(找规律)

因为中心点有n-1条边与之相连,说明每一个点都要与中心点相连;因此只要判断前数组的两个数组中哪个数是重复出现的,那个数即为中心点。

代码

/**
 * @param {number[][]} edges
 * @return {number}
 */
var findCenter = function(edges) {
	if(edges[0][0] === edges[1][0] || edges[0][0] === edges[1][1]) {
		return edges[0][0];
	}else {
		return edges[0][1]
	}
};

在这里插入图片描述

posted @ 2022-02-18 10:12  .筱  阅读(88)  评论(0)    收藏  举报