最近就是忙工作项目 工作间隙就刷了刷LEETCODE 所以没啥更新

 // 1111111.cpp: 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <vector>
#include <queue> using namespace std; bool canFinish1(int numCourses, vector<vector<int>>& prerequisites) {
vector<vector<int> > graph(numCourses, vector<int>());
vector<int> in(numCourses, );
for (auto a : prerequisites) {
graph[a[]].push_back(a[]);
++in[a[]];
}
queue<int> q;
for (int i = ; i < numCourses; ++i) {
if (in[i] == ) q.push(i);
}
while (!q.empty()) {
int t = q.front();
q.pop();
for (auto a : graph[t]) {
--in[a];
if (in[a] == ) q.push(a);
}
}
for (int i = ; i < numCourses; ++i) {
if (in[i] != ) return false;
}
return true;
} //========================================================================== bool canFinishDFS(vector<vector<int> > &graph, vector<int> &visit, int i) {
if (visit[i] == -) return false;
if (visit[i] == ) return true;
visit[i] = -;
for (auto a : graph[i]) {
if (!canFinishDFS(graph, visit, a)) return false;
}
visit[i] = ;
return true;
} bool canFinish2(int numCourses, vector<vector<int> >& prerequisites) {
vector<vector<int> > graph(numCourses, vector<int>());
vector<int> visit(numCourses, );
for (auto a : prerequisites) {
graph[a[]].push_back(a[]);
}
for (int i = ; i < numCourses; ++i) {
if (!canFinishDFS(graph, visit, i)) return false;
}
return true;
} int main()
{
//测试数据
{
int i = ;
vector<vector<int> > v;
v.push_back(std::vector<int>{, });
v.push_back(std::vector<int>{ ,});
canFinish1(i , v);
}
//{
// int i = 2;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{1, 0});
// v.push_back(std::vector<int>{0, 1});
//}
//{
// int i = 2;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{1, 0});
//}
//{
// int i = 3;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{1, 0});
// v.push_back(std::vector<int>{2, 0});
//} // {
// int i = 3;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{1, 0});
// v.push_back(std::vector<int>{2, 0});
// }
//
// {
// int i = 3;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{0, 1});
// v.push_back(std::vector<int>{1, 2});
// }
//
// {
// int i = 4;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{0, 1});
// v.push_back(std::vector<int>{1, 2});
// v.push_back(std::vector<int>{2, 0});
// v.push_back(std::vector<int>{1, 3});
// }
//
// {
// int i = 4;
// vector<vector<int> > v;
// v.push_back(std::vector<int>{0, 1});
// v.push_back(std::vector<int>{1, 2});
// v.push_back(std::vector<int>{1, 3});
// } return ;
}

leetcode 207

最新文章

  1. jquery的insertBefore(),insertAfter(),after(),before()
  2. Android学习笔记(一)&mdash;&mdash;安卓开发环境搭建
  3. CentOS6下Haproxy的安装配置
  4. 搭建DNS服务器
  5. 给table设置滚动条
  6. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
  7. 获取网页上数据(图片、文字、视频)-b
  8. Hbase 建表基本命令总结
  9. C#图片处理之: 另存为压缩质量可自己控制的JPEG
  10. Linux文件系统挂载管理
  11. Servlet中Response对象应用1(输出简单文字、实现文件下载)
  12. 状态压缩 - LeetCode #464 Can I Win
  13. linux下64位汇编的系统调用(1)
  14. jquery单击事件的写法
  15. C# to IL 4 Keywords and Operators(关键字和操作符)
  16. [leetcode]Distinct Subsequences @ Python
  17. ClassNotFoundException和NoClassDefFoundError的解决办法
  18. Data Set Config配置元件
  19. Qt OpenGL裁剪测试
  20. sencha touch 常见问题解答(1-25)

热门文章

  1. Binary Logging Formats
  2. camstar --调用自定义的CDO报帐号没有执行权限的错误
  3. shell 通过shift获得某位后的入参
  4. jquery 动态数字滚动
  5. Docker 网络不通的解决方法
  6. Linux sudo用法与配置
  7. 【转】iOS 自动化性能采集
  8. JavaScript各种继承方式(二):借用构造函数继承(constructor stealing)
  9. mybatis BigDecimal Double Long 的坑爹事
  10. HDU 1255 覆盖的面积(线段树面积并)