当前位置: 首页 > news >正文

leetcode210.课程表II

拓扑排序解法

class Solution {public int[] findOrder(int numCourses, int[][] prerequisites) {int[] result = new int[numCourses];Map<Integer, List<Integer>> graph = new HashMap<>();int[] ingrees = new int[numCourses];//1.创建图和顶点入度情况for (int i = 0; i < numCourses; i++) {graph.put(i, new ArrayList<>());}for (int[] prerequisite : prerequisites) {int to = prerequisite[0];int from = prerequisite[1];graph.get(from).add(to);ingrees[to]++;}//2.拓扑排序int count = 0;Queue<Integer> queue = new LinkedList<>();for (int i = 0; i < ingrees.length; i++) {if (ingrees[i] == 0) {queue.offer(i);result[count] = i;count++;}}while (!queue.isEmpty()) {Integer poll = queue.poll();List<Integer> adjList = graph.get(poll);for (Integer adjVertex : adjList) {ingrees[adjVertex]--;if (ingrees[adjVertex] == 0) {result[count] = adjVertex;count++;queue.offer(adjVertex);}}}return count == numCourses ? result : new int[0];}
}

http://www.xdnf.cn/news/1441027.html

相关文章:

  • STM32F103按钮实验
  • Redis基础篇
  • 新后端漏洞(上)- Redis 4.x5.x 未授权访问漏洞
  • COB封装固晶载具/IC芯片固晶载具核心功能与核心要求
  • 《明朝那些事》读书笔记-王阳明:「知行合一」
  • Prometheus 配置主机宕机告警
  • 同城跑腿系统 跑腿小程序app java源码 跑腿软件项目运营
  • 存算一体:重构AI计算的革命性技术(2)
  • “互联网 +”时代商业生态变革:以开源 AI 智能名片链动 2+1 模式 S2B2C 商城小程序为例
  • 小程序点击之数据绑定
  • 深度学习三大框架对比评测:PaddlePaddle、PyTorch 与 TensorFlow
  • 从零开始的python学习——列表
  • OpenCV的阈值处理
  • 华为云Stack Deploy安装(VMware workstation物理部署)
  • LabVIEW信号频谱分析与限测系统
  • 190页经典PPT | 某科技集团数字化转型SAP解决方案
  • 开源 + 免费!谷歌推出 Gemini CLI,Claude Code 的强劲对手
  • Java设计模式之结构型—代理模式
  • leetcode算法刷题的第二十五天
  • Python:AI开发第一语言的全面剖析
  • Springboot3+SpringSecurity6Oauth2+vue3前后端分离认证授权-客户端
  • 【机器学习入门】5.4 线性回归模型的应用——从CO₂浓度预测学透实战全流程
  • 远程的 develop 比你本地的 develop 更新,Git 拒绝直接覆盖
  • 【55页PPT】旧QC七大手法培训精选讲义(附下载方式)
  • 深入解析Flowable工作流引擎:从原理到实践
  • 2 XSS
  • 深入掌握sed:Linux文本处理的流式编辑器利器
  • PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
  • 协议分析基础
  • 以技术共享点燃全球能源变革新引擎的智慧能源开源了