zoukankan      html  css  js  c++  java
  • 【leetcode】210. 课程表 II

    int* findOrder(int numCourses, int** prerequisites, int prerequisitesSize, int* prerequisitesColSize, int* returnSize){
        int** edges = (int**)calloc(numCourses, sizeof(int*));
        int* edgesColSize = (int*)calloc(numCourses, sizeof(int));
        int* cnt = (int*)calloc(numCourses, sizeof(int));
        int* arr = (int*)calloc(numCourses, sizeof(int));
    
        *returnSize = 0;
        int i, a, b, left=0;
    
        for (i = 0; i < numCourses; i++)
            edges[i] = (int*)malloc(0);
    
        for (i = 0; i < prerequisitesSize; i++){
            a = prerequisites[i][1]; b = prerequisites[i][0];
            edges[a] = (int*)realloc(edges[a], sizeof(int)* ++edgesColSize[a]);
            edges[a][edgesColSize[a] - 1] = b;
            cnt[b]++;
        }
        for (i = 0; i < numCourses; i++){
            if (cnt[i] == 0)
                arr[(*returnSize)++] = i;
        }
        while (left < *returnSize){
            int u = arr[left++];
            for (i = 0; i < edgesColSize[u]; i++){
                cnt[edges[u][i]]--;
                if (cnt[edges[u][i]]==0)
                    arr[(*returnSize)++] = edges[u][i];
            }
        }
        if (*returnSize != numCourses)
            *returnSize = 0;
        return arr;
    }
  • 相关阅读:
    docker-Tensorflow-gpu+ Jupyter
    jupyter文档
    安装matlab文档url
    收藏的下载链接
    Selenium+ PhantomJS
    ubuntu 类似qq的截图工具
    公众号图片
    编译tensflow:因为非法指令(吐核)
    中小型网络组网
    git免密推送代码
  • 原文地址:https://www.cnblogs.com/ganxiang/p/14194629.html
Copyright © 2011-2022 走看看