Merge pull request #229 from gostool/leetcode1791

Leetcode1791
This commit is contained in:
halfrost
2022-03-01 19:28:44 -08:00
committed by GitHub
3 changed files with 106 additions and 0 deletions

View File

@ -0,0 +1,8 @@
package leetcode
func findCenter(edges [][]int) int {
if edges[0][0] == edges[1][0] || edges[0][0] == edges[1][1] {
return edges[0][0]
}
return edges[0][1]
}

View File

@ -0,0 +1,46 @@
package leetcode
import (
"fmt"
"testing"
)
type question1791 struct {
para1791
ans1791
}
// para 是参数
type para1791 struct {
edges [][]int
}
// ans 是答案
type ans1791 struct {
ans int
}
func Test_Problem1791(t *testing.T) {
qs := []question1791{
{
para1791{[][]int{{1, 2}, {2, 3}, {4, 2}}},
ans1791{2},
},
{
para1791{[][]int{{1, 2}, {5, 1}, {1, 3}, {1, 4}}},
ans1791{1},
},
}
fmt.Printf("------------------------Leetcode Problem 1791------------------------\n")
for _, q := range qs {
_, p := q.ans1791, q.para1791
fmt.Printf("【input】:%v ", p.edges)
fmt.Printf("【output】:%v \n", findCenter(p.edges))
}
fmt.Printf("\n\n\n")
}

View File

@ -0,0 +1,52 @@
# [1791.Find Center of Star Graph](https://leetcode-cn.com/problems/find-center-of-star-graph/)
## 题目
There is an undirected star graph consisting of n nodes labeled from 1 to n. A star graph is a graph where there is one center node and exactly n - 1 edges that connect the center node with every other node.
You are given a 2D integer array edges where each edges[i] = [ui, vi] indicates that there is an edge between the nodes ui and vi. Return the center of the given star graph.
**Example 1:**
![https://assets.leetcode.com/uploads/2021/02/24/star_graph.png:w](https://assets.leetcode.com/uploads/2021/02/24/star_graph.png)
Input: edges = [[1,2],[2,3],[4,2]]
Output: 2
Explanation: As shown in the figure above, node 2 is connected to every other node, so 2 is the center.
**Example 2:**
Input: edges = [[1,2],[5,1],[1,3],[1,4]]
Output: 1
**Constraints:**
- 3 <= n <= 100000
- edges.length == n - 1
- edges[i].length == 2
- 1 <= ui, vi <= n
- ui != vi
- The given edges represent a valid star graph.
## 题目大意
有一个无向的 星型 图,由 n 个编号从 1 到 n 的节点组成。星型图有一个 中心 节点,并且恰有 n - 1 条边将中心节点与其他每个节点连接起来。
给你一个二维整数数组 edges ,其中 edges[i] = [ui, vi] 表示在节点 ui 和 vi 之间存在一条边。请你找出并返回 edges 所表示星型图的中心节点。
## 解题思路
- 求出edges中前两个元素的共同值即是中心节点
## 代码
```go
package leetcode
func findCenter(edges [][]int) int {
if edges[0][0] == edges[1][0] || edges[0][0] == edges[1][1] {
return edges[0][0]
}
return edges[0][1]
}
```