安排课程

public class Solution {
    /**
     * @param numCourses a total of n courses
     * @param prerequisites a list of prerequisite pairs
     * @return the course order
     */
    private class Node {
        int label;
        ArrayList<Integer> pre;
        /*
        public node(int la; ArrayList<Integer> prerequist) {
            label = la;
            pre = pre;
        }
        */
    }
    public int[] findOrder(int numCourses, int[][] prerequisites) {
        // Write your code here
        if (prerequisites == null || prerequisites.length == 0 || prerequisites[0].length == 0) {
            return new int[0];
        }
        int[] result = new int[numCourses];
        ArrayList<int> order = new ArrayList<int>();
        Map<int node, ArrayList<int> request> indegree = getIndegree(numCourses,prerequisites);
        Queue<int> queue = new LinkedList<>();
        for (int i = 0; i < numCourses; i++) {
            if (indegree.get(i) == 0) {
                queue.offer(i);
                order.add(i);
            }
        }
        while (!queue.isEmpty()) {
            int node = queue.poll;
            for (int i = 0; i < prerequisites.length; i++) {
                if(prerequisites[i][1] = node) {
                    prerequisites[i][0]
                }
            }
        }

    }
    private Map<int node, ArrayList<int> request> getIndegree (int numCourses, int[][] prerequisites)
    {
        Map<int node, ArrayList<int> request> indegree = new HashMap();
        //init map
        for (int j = 0; j < numCourses; j++) {
            indegree.put(j, new ArrayLisr<int>());
        }
        for (int i = 0; i < prerequisites.length; i++) {
            indegree.put(prerequisites[i][0], indegree.get(prerequisites[i][0]).add());
        }
    }
}

写不出来

时间: 2024-10-05 16:39:13

安排课程的相关文章

考勤助手——教务安排课程时序图

本周将上周的教务安排课程用例图完善后,进行了时序图的绘制: 1.安排新课程时序图如下: 2.修改课程时序图如下:

会场安排课程设计

给一些活动,要求分配会场. #include<stdio.h>#include<stdlib.h>int greedySelector(int *s,int *f,int len){ int n = len - 1; int count = 0; int j = 0; int flag = 1; int num = 0; //for(int i=0;i<len-1;i++) //判断时间是否正确 //{ // if((s[i]>=f[i])||(s[i]<0)||

玩赚全民微商运营系统课程,火人带你玩转微信营销

哪里有人哪里就有商业,哪里就有盈利空间.据第三方统计70%的手机用户开通了个人微信,其年龄涵盖了小学生至老年人,各年龄阶层的人群.截止目前腾讯已拥有4亿的微信用户,7亿的qq用户.消费者才是企业追逐的目标,人的数量决定了财富的数量. 微信营销过程中您是否还在苦恼以下问题: 您企业的公众号是否运营半载粉丝寥寥无几? 您花费近万元打造的微信平台是否从来没有订单? 您的品牌知名度是否通过微信得到了提升? 您的微信平台建设后却不懂得怎么去推广? 如果找不到好的营销解决方案,只会造成重复走弯路.. 赶快来

教育部关于印发《中小学信息技术课程导纲要(试行)》的通知

早在1984年邓小平同志就指出:“计算机的普及要从娃娃做起.”<中共中央国务院关于深化教育改革全面推进素质教育的决定>指出:“在高中阶段的学校和有条件的初中.小学普及计算机操作和信息技术教育.”为了进一步贯彻邓小平同志“三个面向”的指导思想,落实十五届五中全会精神,深化教育改革,全面推进素质教育,培养具有创新精神和实践能力的高素质人才和劳动者,教育部决定在全国中小学开设信息技术课程.    现将<中小学信息技术课程指导纲要(试行)>印发给你们,希望各地从实际出发,积极创造条件,大力

目前流行的几种排课算法的介绍

通用高校排课算法研究----2 .目前流行的几种排课算法的介绍 2   目前流行的几种排课算法的介绍 2.1. 自动排课算法 1 .问题的描述 我们讨论的自动排课问题的简化描述如下: 设要安排的课程为{ C1 , C2 , ., Cn} ,课程总数为n , 而各门课程每周安排次数(每次为连续的2 学时) 为{ N1 , N2 , ., Nn} ;每周教学日共5 天,即星期一- 星期五;每个教学日最多安排4次课程教学,即1 - 2 节.3 - 4 节.5 - 6 节和7 - 8 节(以下分别称第1

通用高校排课算法研究----3.基于时间片优先级排课算法

通用高校排课算法研究----3.基于时间片优先级排课算法 3   基于时间片优先级排课算法描述与分析 排课问题实质上是时间.教师.班级.教室.课程这五维关系的冲突问题,要合理的解决这个问题首先要了解排课中的一些基本原则以及排课的一些基本要求. 3.1排课中的基本原则 在课程的编排中应遵循一定的规则, 只有按照基本规则来进行课程的编排才能够减少冲突的发生, 这些基本规则主要有以下几条: 1) 同一班级的学生在同一时间(某些特定的选修课时间除外) 不能安排两门课程 2) 同一教师在同一时间不能安排两

通用高校排课算法研究----前言

1   绪 论 1.1课题背景与研究意义 1.2课题的应用领域 1.3 课题的现状 1.4解决NP问题的几种算法及其比较 2   目前流行的几种排课算法的介绍 2.1. 自动排课算法 2.2 基于优先级的排课算法 3   基于时间片优先级排课算法描述与分析 3.1排课中的基本原则 3.2排课的基本要求 3.3基于时间片优先级排课算法描述 3.4算法分析 参 考 资 料 1   绪 论 1课题背景与研究意义 排课问题早在70年代就证明是一个NP完全问题,即算法的计算时间是呈指数增长的,这一论断确立

大部分人努力程度之低,根本轮不到拼天赋 [转自w3cschool]

2014-05-31 w3cschool 在过去的三个多月里,每周六一天的心理咨询师的培训课成了我一周中最重要最开心的事情之一.因为国庆节的缘故,从9月中旬到10月中旬培训中心都没有安排课程,因此习惯每周六去上课的我在假期里反而一时颇为不习惯. 放假之前,我去另一个校区听了一次课,那个班比我所在的班级课程的进度快一些.课间听到那个头发半白的班主任讲话,班上的学生争相传阅一份成绩单,我才知道他们已经考过入门考了.班主任对学生说:"考试之前,我就有预测,那些每次上课都来的学生都会考过,那些每次来还坐

PHP实现微信公众平台开发—基础篇

PHP实现微信公众平台开发-基础篇 2 1课程介绍 2 2. 微信公众号账号介绍的申请流程详解 2 2.1微信三角色关系 2 2.2信息流的过程 2 2.4微信公众账号的认证 3 2.5订阅号的申请流程 3 3. 微信公众号的工作原理 3 3.1数据交互流程 3 3.2编辑模式和开发者模式的介绍 4 3.3编辑模式的简单演示 5 3.4接口介绍 5 4. 接入微信公众账号的API 5 1.验证配置介绍   5 2.验证参数介绍 5 3.填写验证配置 6 4.生成公网访问的脚本文件 6 5.验证代