美文网首页每日打卡
2021-12-14 课程表

2021-12-14 课程表

作者: 16孙一凡通工 | 来源:发表于2021-12-14 10:50 被阅读0次

自己想不出来好的思路,这个题很经典,可以用拓扑排序,也可以用深度优先判定是否是个环来解决,
思路就是建立一个入度数组,一个统计对应关系的arralist,和一个队列。
从入度数组出发,统计零元素放入队列,队列剔除队首元素,并根据arraylist找到对应的下一个元素,
得到下一个元素的入度,若是0,放入队列,继续这样的操作,知道队列是空的,
java版本:

class Solution {
    public boolean canFinish(int numCourses, int[][] prerequisites) {

// 拓扑排序
// 建立一个入度表,队列,和用来统计对应关系的数组,同时
// 把入度是0的放入队列,同时队列不是空的时候出队首元素,同时入度·表的后向元素减减
int[] arr=new int[numCourses];
int pre;
Queue<Integer> queue=new LinkedList<>();
List<List<Integer>> list =new ArrayList<>();
for (int i=0;i<numCourses;i++){
    list.add(new ArrayList<>());
}
for(int j=0;j<prerequisites.length;j++){
  pre=prerequisites[j][0];
   arr[pre]++;
 list.get(prerequisites[j][1]).add(pre);
}

for(int i=0;i<numCourses;i++){
    // System.out.println("arr:"+arr[i]);
 if(arr[i]==0)
     queue.add(i);
    

}
 while(!queue.isEmpty()){
   pre= queue.poll();
  numCourses--;
//    System.out.println("pre:"+pre);
  for(int cur:list.get(pre)){
      arr[cur]--;
    //    System.out.println("cur:"+cur);
    //    System.out.println("arr[cur]:"+arr[cur]);

      if(arr[cur]==0){
         
          queue.add(cur);
      }
      
  }
 }
//  System.out.println("numcourse:"+numCourses);
 return numCourses==0; 

 }
}

相关文章

  • 2021-12-14 课程表

    自己想不出来好的思路,这个题很经典,可以用拓扑排序,也可以用深度优先判定是否是个环来解决,思路就是建立一个入度数组...

  • centos7部署Prometheus+Grafana脚本

    #! /bin/bash #author fanwenxing 2021-12-14 #关闭防火墙 systemc...

  • 生命不要反感灵魂的警示

    原创2021-12-14 19:06·叁觉[https://www.toutiao.com/c/user/toke...

  • 服饰色彩搭配

    课程表

  • LeetCode-207-课程表

    LeetCode-207-课程表 207. 课程表[https://leetcode-cn.com/problem...

  • 超级课程表APP产品分析---集创堂雪碧

    今天带来的是超级课程表的产品分析。 超级课程表产品分析---集创堂雪碧 今天带来的是超级课程表的产品分析。 超级课...

  • 表格制作智能课程表

    见过超级课程表,见过用表格制作的超级课程表吗?不比超级课程表还牛叉! 考完试了,终于能清净会儿了,闲来无事,制作一...

  • 2018-09-14

    待办事项: 1.确定课程表,确定课程,充足备课,结合培训班,普及课的课程表,安排自己班课程,参考王羽的课程表。昌照...

  • 《丁丁的课程表》

    今天我写了一篇童话:《丁丁的课程表》 《丁丁的课程表》 一年三...

  • 《句句成章》28  有没有用

    原创 老区游子 游子岁月 2021-12-14 05:46 收录于话题 #学会生活 懂得快乐 11个内容 句子:不...

网友评论

    本文标题:2021-12-14 课程表

    本文链接:https://www.haomeiwen.com/subject/jtmsfrtx.html