题解 | #牛群的喂养顺序II#

牛群的喂养顺序II

https://www.nowcoder.com/practice/05abc133293a42358bbbb4016034728e

package main

import "fmt"

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param numCows int整型
 * @param feedOrders int整型二维数组
 * @return int整型一维数组
 */
func findFeedOrderII( numCows int ,  feedOrders [][]int ) []int {
    // write code here
    rudulis:=make([]int,numCows)
    linjie:=make([][]int,numCows)
    for _,v:=range feedOrders{
        linjie[v[1]]=append(linjie[v[1]], v[0])
        rudulis[v[0]]++
    }
    flag:=1
    start:=-1
    for i,v:=range rudulis{
        if v==0{
            flag--
            start=i
        }
    }
    if flag==-1||flag==1{
        return nil
    }
    fmt.Print(start)

    res:=[]int{}
    var dfs func(int,int)
    dfs=func(from,to int){
        res=append(res,to)
        for _,v:=range linjie[to]{
            rudulis[v]--
            if rudulis[v]==0{
                dfs(to,v)
            }
        }
    }
    dfs(-1,start)
    return res
}

全部评论

相关推荐

2024-12-23 06:50
门头沟学院 Java
给点吧求求了:3点发的帖子,害怕😰
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务