代码随想录训练营补充|图论|Golang

1791. 找出星型图的中心节点   
797. 所有可能的路径
岛屿系列问题:
200. 岛屿数量
200. 岛屿数量
463. 岛屿的周长
695. 岛屿的最大面积
827. 最大人工岛
1020. 飞地的数量  
130. 被围绕的区域  
417. 太平洋大西洋水流问题(深搜、广搜)
127. 单词接龙 (困难)
841. 钥匙和房间

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

代码随想录训练营补充|图论|Golang_第1张图片

 思路1:哈希

func findCenter(edges [][]int) int {
    has1 := make(map[int]int,0)
    for _, v1 := range edges {
        for _, v2 := range v1 {
            _, ok := has1[v2]
            if ok {
                return v2
            }
            has1[v2]++
        }
    }
    return -1
}

思路2:图论基础

代码随想录训练营补充|图论|Golang_第2张图片

func findCenter(edges [][]int) int {
    n := len(edges)+1
    degrees := make([]int, n+1)
    for _, v := range edges {
        degrees[v[0]]++
        degrees[v[1]]++
    }
    for i, v := range degrees {
        if v == n-1 {
            return i
        }
    }
    return -1
}

你可能感兴趣的:(代码随想录训练营|算法基础,golang,图论)