在一个牧场中,有 numCows 头牛,编号为 0 到 numCows – 1。牧场主为了方便管理,记录了牛群之间的喂养顺序关系。喂养顺序关系用一个数组 feedOrders 给出,其中 feedOrders[i] = [ai, bi],表示如果要喂养牛 ai,则必须先喂养牛 bi。 例如,喂养顺序对 [0, 1] 表示:想要喂养牛 0,你需要先喂养牛 1。 返回你为了喂养完所有牛所安排的喂养顺序,不会出现多个答案的情况。如果不可能喂养完所有牛,返回一个空数组 。

区块链毕设网qklbishe.com为您提供问题的解答

在一个牧场中,有 numCows 头牛,编号为 0 到 numCows – 1。牧场主为了方便管理,记录了牛群之间的喂养顺序关系。喂养顺序关系用一个数组 feedOrders 给出,其中 feedOrders[i] = [ai, bi],表示如果要喂养牛 ai,则必须先喂养牛 bi。

例如,喂养顺序对 [0, 1] 表示:想要喂养牛 0,你需要先喂养牛 1。
返回你为了喂养完所有牛所安排的喂养顺序,不会出现多个答案的情况。如果不可能喂养完所有牛,返回一个空数组 。

拓扑
#include <vector> class Solution { public:     /**      * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可      *      *       * @param numCows int整型       * @param feedOrders int整型vector<vector<>>       * @return int整型vector      */     vector<int> findFeedOrderII(int numCows, vector<vector<int> >& feedOrders) {         // write code here         // 每个先节点对应的后节点         vector<vector<int>> v(numCows);         // 每个节点的度         vector<int> edg(numCows);          for(const auto info:feedOrders)         {             v[info[1]].emplace_back(info[0]);             ++edg[info[0]];         }          queue<int> q;         for(int i=0; i<numCows; ++i)         {             if(edg[i]==0)                 q.emplace(i);         }          vector<int> ans;         while(!q.empty())         {             int t = q.front();             q.pop();             --numCows;             ans.emplace_back(t);              for(auto x:v[t])             {                 --edg[x];                  if(edg[x]==0)                     q.emplace(x);             }         }          if(numCows==0)             return ans;                  return vector<int>();     } };

34:25

以上就是关于问题在一个牧场中,有 numCows 头牛,编号为 0 到 numCows – 1。牧场主为了方便管理,记录了牛群之间的喂养顺序关系。喂养顺序关系用一个数组 feedOrders 给出,其中 feedOrders[i] = [ai, bi],表示如果要喂养牛 ai,则必须先喂养牛 bi。 例如,喂养顺序对 [0, 1] 表示:想要喂养牛 0,你需要先喂养牛 1。
返回你为了喂养完所有牛所安排的喂养顺序,不会出现多个答案的情况。如果不可能喂养完所有牛,返回一个空数组 。的答案

欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。

区块链NFT链游项目方科学家脚本开发培训

承接区块链项目定制开发

微信:btc9767

QQ :1330797917

TELEGRAM: BTCOK9

承接区块链项目定制开发


qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 在一个牧场中,有 numCows 头牛,编号为 0 到 numCows – 1。牧场主为了方便管理,记录了牛群之间的喂养顺序关系。喂养顺序关系用一个数组 feedOrders 给出,其中 feedOrders[i] = [ai, bi],表示如果要喂养牛 ai,则必须先喂养牛 bi。 例如,喂养顺序对 [0, 1] 表示:想要喂养牛 0,你需要先喂养牛 1。 返回你为了喂养完所有牛所安排的喂养顺序,不会出现多个答案的情况。如果不可能喂养完所有牛,返回一个空数组 。