当前位置: 首页 > wzjs >正文

外贸网站建设seo标书制作难吗

外贸网站建设seo,标书制作难吗,网站建设怎么打开,竞价代运营公司哪家好目录 牛客_NC316体育课测验(二)_拓扑排序 题目解析 C代码 Java代码 牛客_NC316体育课测验(二)_拓扑排序 体育课测验(二)_牛客题霸_牛客网 描述: 体育课共有numProjectnumProject个考核项目,编号为00到numProject−1numProject−1,考核中…

目录

牛客_NC316体育课测验(二)_拓扑排序

题目解析

C++代码

Java代码


牛客_NC316体育课测验(二)_拓扑排序

体育课测验(二)_牛客题霸_牛客网

描述:

        体育课共有numProjectnumProject个考核项目,编号为00到numProject−1numProject−1,考核中每两个项目被划分为一组得到分组数组groupsigroupsi​,现规定若想完成项目groupsi[0]groupsi​[0],必须先完成groupsi[1]groupsi​[1]。保证所有分组互不相同,若分组情况能顺利完成考核,请返回任意的一个完成顺序,否则返回空数组 。

数据范围:

1≤numProject≤2000
1≤groupsi.length≤numProject∗(numProject−1)


题目解析

拓扑排序类型题:

  1. 起始时,将所有入度为 0 的节点进行入队(入度为 0,说明没有边指向这些节点,将它们放到拓扑排序的首部,不会违反拓扑序定义)。
  2. 从队列中进行节点出队操作,出队序列就是对应我们输出的拓扑序。对于当前弹出的节点 x,遍历x 的所有出度y,即遍历所有由 x直接指向的节点y,对y做入度减一操作(因为x节点已经从队列中弹出,被添加到拓扑序中,等价于x节点从有向图中被移除,相应的由x发出的边也应当被删除,带来的影响是与 x相连的节点y的入度减一)。
  3. 对y进行入度减一之后,检查 y的入度是否为0,如果为0则将y入队(当y的入度为0,说明有向图中在y前面的所有的节点均被添加到拓扑序中,此时 可以作为拓扑序的某个片段的首部被添加,而不是违反拓扑序的定义)。
  4. 循环流程 2、3 直到队列为空。

C++代码

class Solution {
public:vector<int> findOrder(int numProject, vector<vector<int> >& groups) {vector<vector<int>> edg(numProject);vector<int> in(numProject);for(auto& e : groups){int a = e[0], b = e[1];edg[b].push_back(a); // b->ain[a]++;}queue<int> q;for(int i = 0; i < numProject; ++i){if(in[i] == 0)q.push(i);}vector<int> ret;while(q.size()){int x = q.front();q.pop();ret.push_back(x);for(auto& e : edg[x]){if(--in[e] == 0)q.push(e);}}// if(ret.size() == numProject)//     return ret;// return {};return ret.size()== numProject ? ret : (ret.clear(), ret);}
};

Java代码

import java.util.*;
public class Solution {public ArrayList<Integer> findOrder (int n, ArrayList<ArrayList<Integer>>  groups) {List<List<Integer>> edges = new ArrayList<>(); // 存储边for(int i = 0; i < n; i++){edges.add(new ArrayList<>());}int[] in = new int[n]; // ⼊度// 1. 建图for(int i = 0; i < groups.size(); i++){int a = groups.get(i).get(0), b = groups.get(i).get(1); // b -> ain[a]++;edges.get(b).add(a);}Queue<Integer> q = new LinkedList<>();// 2. ⼊度为 0 的点加⼊到队列中for(int i = 0; i < n; i++){if(in[i] == 0){q.add(i);}}ArrayList<Integer> ret = new ArrayList<>();// 3. 拓扑排序(BFS) while(!q.isEmpty()){int a = q.poll();ret.add(a);for(int b : edges.get(a)) // a -> b{if(--in[b] == 0){q.add(b);}}}if(ret.size() == n)return ret;elsereturn new ArrayList<>();}
}
http://www.dtcms.com/wzjs/547546.html

相关文章:

  • 个人微信网站怎么做温州瓯北做网站
  • 网站开发实现编码免费下载设计素材网站
  • 深圳网站建设报价python做网站实战
  • 服装网站建设竞争对手调查分析wordpress免费还是收费
  • 苏州网站建设点一点怎么用ps做网站首页图片尺寸
  • 百度竞价价格查询英文seo
  • 公司手机网站设计网站建设与策划试卷
  • 迷你主机做网站制作公司网站的
  • 网站+做内容分发资格上海抖音seo公司
  • 影视公司网站模板网站做rss wordpress
  • 深圳有做网站的公司商城网站制作教程
  • 铜川网站设计网站名字和域名
  • 广州营销型网站建设调取当前文章标签wordpress
  • 信息化工作总结 网站建设济宁seo
  • 城乡建设举报网站seo排名整站优化
  • 手机网站设计报告模板在线设计平台哪个好用
  • 辽宁省建设监理协会网站陈塘庄做网站公司
  • 怎么学做网站制作主题资源网站建设作业
  • 电子商务的网站建设名词解释徐州城乡建设网站
  • 建企业网站的步骤上海最专业的网站设
  • 网站建设iis配置官网是怎么做的
  • 合肥庐阳区建设局网站重庆的企业网站
  • c2c电子商务网站开发制作网站小程序
  • 小说网站模板html酷炫的动漫主题wordpress
  • 公司网站建设的好处自己怎么做一个网页
  • 免费1级做爰片在线观看 历史网站网页版微信官方
  • 长沙网站拓谋网络照片视频合成制作软件
  • 安徽工建设信息网站双鸭山网站建设
  • 凡科网站 怎么开支付内蒙古住房和建设厅网站
  • 九一人才网招聘网官方网站贵阳网站建设多少钱