找出星型图的中心节点

133 阅读1分钟

找出星型图的中心节点

image.png

贴一下代码

第一种

function findCenter(edges: number[][]): number {
    for(let i = 0; i < edges.length; i++){
        for(let j = 0; j < edges[i].length; j++){
            if(edges[i + 1].includes(edges[i][j])){
                return edges[i][j]
            }
        }
    }
};

第二种

function findCenter(edges: number[][]): number {
    for(let i = 0; i < edges.length; i++){
        if(edges[i][0] === edges[i+1][0]  || edges[i][0] === edges[i+1][1]){
            return edges[i][0]
        } else if(edges[i][1] === edges[i+1][0] || edges[i][1] === edges[i+1][1]){
            return edges[i][1]
        }
    }
};

一二种用时

image.png

思路:

  • 数组中的子数组长度固定为2,即只需要比较前两个子数组,找到其中公有的值就是中心节点