zoukankan      html  css  js  c++  java
  • 20180613更新 leetcode刷题

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

      1 // 1111111.cpp: 定义控制台应用程序的入口点。
      2 //
      3 
      4 #include "stdafx.h"
      5 #include <vector>
      6 #include <queue>
      7 
      8 using namespace std;
      9 
     10 bool canFinish1(int numCourses, vector<vector<int>>& prerequisites) {
     11     vector<vector<int> > graph(numCourses, vector<int>(0));
     12     vector<int> in(numCourses, 0);
     13     for (auto a : prerequisites) {
     14         graph[a[1]].push_back(a[0]);
     15         ++in[a[0]];
     16     }
     17     queue<int> q;
     18     for (int i = 0; i < numCourses; ++i) {
     19         if (in[i] == 0) q.push(i);
     20     }
     21     while (!q.empty()) {
     22         int t = q.front();
     23         q.pop();
     24         for (auto a : graph[t]) {
     25             --in[a];
     26             if (in[a] == 0) q.push(a);
     27         }
     28     }
     29     for (int i = 0; i < numCourses; ++i) {
     30         if (in[i] != 0) return false;
     31     }
     32     return true;
     33 }
     34 
     35 //==========================================================================
     36 
     37 bool canFinishDFS(vector<vector<int> > &graph, vector<int> &visit, int i) {
     38     if (visit[i] == -1) return false;
     39     if (visit[i] == 1) return true;
     40     visit[i] = -1;
     41     for (auto a : graph[i]) {
     42         if (!canFinishDFS(graph, visit, a)) return false;
     43     }
     44     visit[i] = 1;
     45     return true;
     46 }
     47 
     48 bool canFinish2(int numCourses, vector<vector<int> >& prerequisites) {
     49     vector<vector<int> > graph(numCourses, vector<int>(0));
     50     vector<int> visit(numCourses, 0);
     51     for (auto a : prerequisites) {
     52         graph[a[1]].push_back(a[0]);
     53     }
     54     for (int i = 0; i < numCourses; ++i) {
     55         if (!canFinishDFS(graph, visit, i)) return false;
     56     }
     57     return true;
     58 }
     59 
     60 
     61 int main()
     62 {
     63     //测试数据
     64     {
     65         int i = 2;
     66         vector<vector<int> > v;
     67         v.push_back(std::vector<int>{0, 1});
     68         v.push_back(std::vector<int>{1 ,0});
     69         canFinish1(i , v);
     70     }
     71     //{
     72     //    int i = 2;
     73     //    vector<vector<int> > v;
     74     //    v.push_back(std::vector<int>{1, 0});
     75     //    v.push_back(std::vector<int>{0, 1});
     76     //}
     77     //{
     78     //    int i = 2;
     79     //    vector<vector<int> > v;
     80     //    v.push_back(std::vector<int>{1, 0});
     81     //}
     82     //{
     83     //    int i = 3;
     84     //    vector<vector<int> > v;
     85     //    v.push_back(std::vector<int>{1, 0});
     86     //    v.push_back(std::vector<int>{2, 0});
     87     //}
     88 
     89 //    {
     90 //        int i = 3;
     91 //        vector<vector<int> > v;
     92 //        v.push_back(std::vector<int>{1, 0});
     93 //        v.push_back(std::vector<int>{2, 0});
     94 //    }
     95 //
     96 //    {
     97 //        int i = 3;
     98 //        vector<vector<int> > v;
     99 //        v.push_back(std::vector<int>{0, 1});
    100 //        v.push_back(std::vector<int>{1, 2});
    101 //    }
    102 //
    103 //    {
    104 //        int i = 4;
    105 //        vector<vector<int> > v;
    106 //        v.push_back(std::vector<int>{0, 1});
    107 //        v.push_back(std::vector<int>{1, 2});
    108 //        v.push_back(std::vector<int>{2, 0});
    109 //        v.push_back(std::vector<int>{1, 3});
    110 //    }
    111 //
    112 //    {
    113 //        int i = 4;
    114 //        vector<vector<int> > v;
    115 //        v.push_back(std::vector<int>{0, 1});
    116 //        v.push_back(std::vector<int>{1, 2});
    117 //        v.push_back(std::vector<int>{1, 3});
    118 //    }
    119 
    120 
    121 
    122 
    123     return 0;
    124 }
    leetcode 207
    作 者: itdef
    欢迎转帖 请保持文本完整并注明出处
    技术博客 http://www.cnblogs.com/itdef/
    B站算法视频题解
    https://space.bilibili.com/18508846
    qq 151435887
    gitee https://gitee.com/def/
    欢迎c c++ 算法爱好者 windows驱动爱好者 服务器程序员沟通交流
    如果觉得不错,欢迎点赞,你的鼓励就是我的动力
    阿里打赏 微信打赏
  • 相关阅读:
    Struts22222
    Struts2
    Java事务的概念
    Java设计模式之单例模式
    Spring的大框架
    mybatis大框架
    springmvc和spring的区别
    JavaScript-原型&原型链&原型继承&组合函数
    美丽的CSS图形和HTML5
    易买网项目的总实现超级详解
  • 原文地址:https://www.cnblogs.com/itdef/p/9176424.html
Copyright © 2011-2022 走看看