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

上海网站建设开发哪北京网站优化指导

上海网站建设开发哪,北京网站优化指导,邯郸网站制作哪家好,网站原创页面解决拓扑排序问题: 1、 根据依赖关系,构建邻接表、和入度数组 2、选取入度为 0 的数据,根据邻接表,减小依赖它的数据的入度 3、找出新入度为 0 的数据,重复第 2 步 4、直至所有数据的入度为 0,得到排序&…

解决拓扑排序问题:
1、 根据依赖关系,构建邻接表、和入度数组
2、选取入度为 0 的数据,根据邻接表,减小依赖它的数据的入度
3、找出新入度为 0 的数据,重复第 2 步
4、直至所有数据的入度为 0,得到排序,如果还有数据的入度没有变到 0,说明存在环形依赖

和 传统BFS 不一样的地方:
传统BFS:把出列节点的下一层子节点推入 queue,不加甄别
拓扑排序:实施甄别和监控,新入度为 0 的先推入 queue

个人模板
vector<int> TopologicalSorting(int numCourses, vector<vector<int>>& prerequisites) {// 定义存储vector<vector<int>> edages; // 记录节点:出度节点edages.resize(numCourses);vector<int> res;    // 返回答案vector<int> degree(numCourses); // 记录每个节点的入度数// 更新节点关系和入度数for (int i = 0; i < prerequisites.size(); ++i) {edages[prerequisites[i][1]].emplace_back(prerequisites[i][0]);degree[prerequisites[i][0]] += 1;}// 添加入度节点为0的进入双端队列deque<int> de;for (int i = 0; i < numCourses; ++i) {if (degree[i] == 0) {   // 入度为0de.push_back(i);}}// 取出入度为0的节点并更新其他节点的入度while (!de.empty()) {int node = de.front();res.emplace_back(node); // 添加至答案de.pop_front();for (int d = 0; d < edages[node].size(); ++d) {degree[edages[node][d]] -= 1; // 入度数减1if (degree[edages[node][d]] == 0) { // 入度数为0时添加至队列de.push_back(edages[node][d]);}}}return res.size();
}
210. 课程表 II
class Solution {
public:vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {// 定义存储vector<vector<int>> edages; // 记录节点:出度节点edages.resize(numCourses);vector<int> res;    // 返回答案vector<int> degree(numCourses); // 记录每个节点的入度数// 更新节点关系和入度数for (int i = 0; i < prerequisites.size(); ++i) {edages[prerequisites[i][1]].emplace_back(prerequisites[i][0]);degree[prerequisites[i][0]] += 1;}// 添加入度节点为0的进入双端队列deque<int> de;for (int i = 0; i < numCourses; ++i) {if (degree[i] == 0) {   // 入度为0de.push_back(i);}}// 取出入度为0的节点并更新其他节点的入度while (!de.empty()) {int node = de.front();res.emplace_back(node); // 添加至答案de.pop_front();for (int d = 0; d < edages[node].size(); ++d) {degree[edages[node][d]] -= 1; // 入度数减1if (degree[edages[node][d]] == 0) { // 入度数为0时添加至队列de.push_back(edages[node][d]);}}}return res.size() == numCourses ? res : vector<int>();}
};
444. 序列重建

验证原始的序列 org 是否可以从序列集 seqs 中唯一地重建。

序列 org 是 1 到 n 整数的排列,其中 1 ≤ n ≤ 104。

重建是指在序列集 seqs 中构建最短的公共超序列。(即使得所有 seqs 中的序列都是该最短序列的子序列)。

确定是否只可以从 seqs 重建唯一的序列,且该序列就是 org 。

示例 1:
输入:
org: [1,2,3], seqs: [[1,2],[1,3]]
输出:
false
解释:
[1,2,3] 不是可以被重建的唯一的序列,因为 [1,3,2] 也是一个合法的序列。示例 2:
输入:
org: [1,2,3], seqs: [[1,2]]
输出:
false
解释:
可以重建的序列只有 [1,2]。示例 3:
输入:
org: [1,2,3], seqs: [[1,2],[1,3],[2,3]]
输出:
true
解释:
序列 [1,2], [1,3] 和 [2,3] 可以被唯一地重建为原始的序列 [1,2,3]。示例 4:
输入:
org: [4,1,5,2,6,3], seqs: [[5,2,6,3],[4,1,5,2]]
输出:
true
269. 火星词典

现有一种使用字母的全新语言,这门语言的字母顺序与英语顺序不同。您有一个单词列表(从词典中获得的),该单词列表内的单词已经按这门新语言的字母顺序进行了排序。需要根据这个输入的列表,还原出此语言中已知的字母顺序。

示例:输入:
[
“wrt”,
“wrf”,
“er”,
“ett”,
“rftt”
]输出: “wertf”
http://www.laogonggong.com/news/301.html

相关文章:

  • 柳州网站虚拟主机公司产品推广朋友圈文案
  • 网站开发ppt转h5北京朝阳区优化
  • 重庆市城乡建设委员会教育网站百度平台我的订单
  • 网站文章在哪发布做seo什么是网站优化
  • 网站和网页的目的品牌营销策划包括哪些内容
  • 潜水艇官方网站代理成品网站1688入口网页版
  • 武汉网站建设哪家最好?西安seo网站推广优化
  • 自己做网站制作教程注册安全工程师
  • 网站abc建设规划网页设计html代码大全
  • 关于网站建设的合同范本互联网营销培训平台
  • wordpress 删除 下载文件关键词优化排名软件哪家好
  • sae 企业网站免费发布软文广告推广平台
  • 广东网站建设哪家有南京seo整站优化技术
  • 宁波网站搭建定制非模板网站建设免费个人自助建站
  • 宝鸡专业做网站seo优化软件免费
  • 杭州网站搭建互联网销售可以卖什么产品
  • 郑州营销网站托管公司哪家好百度关键词排名推广
  • 公司建立网站的优势怎么利用互联网推广
  • cms管理手机网站模板汕头网站设计
  • 网站建设专家企业网络推广软件
  • wordpress主题开发404页面seo点击排名软件哪里好
  • 福田网站制作报价福州seo代理商
  • 福州便民生活网长春seo优化
  • 项目建设计划书关键词优化排名哪家好
  • 老网站改版做别的黄冈网站搭建推荐
  • 会网站建设好吗百度知道首页官网
  • 女士服装定制网站站长工具seo综合查询怎么使用的
  • 如何做网站网页免费整站优化的公司
  • 制作网页游戏htmlseo点击软件手机
  • 如何做黑客攻击网站百度查重免费入口