东坑网站建设/企业网站制作

东坑网站建设,企业网站制作,沧州网页制作公司,自己做网站需要哪些流程题目 思路 这道题本质上是一个拓扑排序。每次先统计每个点的入度个数、然后再统计点与点之间的邻接关系,找到入度为0的点作为起始遍历点。之后每遍历到这个点之后,就把这个点后续的邻接关系边的点入度减去一。当某个点入度为0时,继续被加入其…

题目

在这里插入图片描述
在这里插入图片描述

思路

这道题本质上是一个拓扑排序。每次先统计每个点的入度个数、然后再统计点与点之间的邻接关系,找到入度为0的点作为起始遍历点。之后每遍历到这个点之后,就把这个点后续的邻接关系边的点入度减去一。当某个点入度为0时,继续被加入其中开启下一轮遍历。当遍历完后,如果还有剩余点的话,则说明不满足拓扑要求。

代码实现

class Solution:def canFinish(self, numCourses: int, prerequisites: List[List[int]]) -> bool:# 存储每个点的入度indegrees = [0 for _ in range(numCourses)]# 存储邻接关系adjacency = [[] for _ in range(numCourses)]# 统计每个点的入度和邻接关系for cur, pre in prerequisites:indegrees[cur] += 1adjacency[pre] = cur# 寻找入度为0的点,作为起始点que = collections.deque()for i in range(numCourses):if not indegrees:que.append(i)# 当队列中存在入度为0的点时候,就进行遍历while que:# 取出一个点遍历pre = que.popleft()numCourses -= 1# 该点邻接的点的入度减去1for cur in adjacency[pre]:                indegrees[cur] -= 1# 当入度为0时候,作为下一个被遍历的点if not indegrees[cur]:que.append(cur)# 当所有点都入度为0时候,则满足拓扑排序return not numCourses

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/72867.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mock接口编写教程-axios-mock-adapter(React)

Mock模拟接口编写教程 直接在前端实现接口模拟 1.第一步 设置模拟接口 // mock.ts import axios from axios import MockAdapter from axios-mock-adapter// 创建一个模拟适配器 const mock new MockAdapter(axios)// 设置模拟接口 export const setupMock () > {mock.…

CCF 编程能力认证 C++ 四级宝典

CCF编程能力等级认证(以下简称GESP)2025年四次认证时间分别为:3月22日、6月28日、9月27日、12月20日,认证方式为线下机考,认证语言包括:C、Python和Scratch三种语言,其中Scratch认证为一到四级&…

OpenCV图像拼接(4)图像拼接模块的一个匹配器类cv::detail::BestOf2NearestRangeMatcher

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::detail::BestOf2NearestRangeMatcher 是 OpenCV 库中用于图像拼接模块的一个匹配器类,专门用于寻找两幅图像之间的最佳特征点匹配…

【C#语言】C#中的同步与异步编程:原理、示例与最佳实践

文章目录 ⭐前言⭐一、同步编程:简单但低效的线性执行🌟代码示例🌟执行流程示意图🌟同步编程特点 ⭐二、异步编程:非阻塞的高效执行🌟代码示例🌟执行流程示意图🌟异步编程核心机制&a…

el-input 不可编辑,但是点击的时候出现弹窗/或其他操作面板,并且带可清除按钮

1.focus“getFocus”鼠标聚焦的时候写个方法,弹窗起来 getFocus(){ this.定义的弹窗状态字段 true;} 2.点击确定的时候,数值赋值到el-input的输入框,弹窗取消(this.定义的弹段字端 false) 3.但是会有个问题就是el-input 不可点…

事件响应计划:网络弹性的关键

网络安全事件响应计划不仅仅是技术上的需要,更是企业的当务之急。在网络威胁比以往任何时候都更加复杂和频繁的时代,了解并做好准备应对这些事件可能会决定是恢复还是灾难。 以下是简要分析: 网络安全事件不仅仅是技术故障;它们…

正则表达式详解(regular expression)

💡 正则表达式(Regular Expression, regex)知识点总结 💡 正则表达式是一种用于匹配字符串的模式,广泛用于搜索、替换、验证等操作。 📌 正则表达式的主要作用 1️⃣ 字符串匹配 🧐 检查一个…

全球化2.0 | ZStack云计算系统工程师(ZCCE)国际认证培训成功举办

近日,ZStack云计算系统工程师(ZCCE)国际认证培训在上海成功举办。本次培训采用 "线下 线上直播" 双轨模式,同步开设中文与英文课程,吸引了来自中国、东南亚、独联体、北美、中东等多个国家和地区的近 90 名…

C++学习之nginx+fastDFS

目录 1.知识点概述 2.fastcgi复习 3.文件上传流程分析 4.文件下载流程和优化 5.在存储节点上安装nginx和fastdfs插件 6.mod-fdsf.com配置文件修改 7.解决nginx的worker无法启动,拷贝配置文件操作 8.客户 通过浏览器访问存储节点404问题 9.nginx服务器处理资…

【AIGC】Win10系统极速部署Docker+Ragflow+Dify

【AIGC】WIN10仅3步部署DockerRagflowDify 一、 Docker快速部署1.F2进入bios界面,按F7设置开启VMX虚拟化技术。保存并退出。2.打开控制面板配置开启服务3.到官网下载docker安装包,一键安装(全部默认勾选) 二、 RagFlow快速部署1.确…

新一代电子数据取证专家 | 苏州龙信信息科技有限公司

本文关键词:电子取证、手机取证、计算机取证、云取证 关于我们About us 苏州龙信信息科技有限公司专注于电子数据取证、大数据、信息安全等领域,核心业务主要涵盖取证工具研发、大数据融合分析、案件技术支持、取证能力培训等,先后为执法部门…

ABAP 长文本编辑器

加个屏幕 *&---------------------------------------------------------------------* *& Report YDEMO2 *&---------------------------------------------------------------------* *& *&---------------------------------------------------------…

postman小白教程(从入门到实战,详细教学)

目录 1. postman介绍 2. 下载地址 3. 安装流程 4. 注册postman账号 ① 打开postman,点击【创建账号】或【登录】,会跳转到浏览器 ② 若已有账号可以直接登录;若无账号,则创建新账号 ③ 若登录成功会弹出提示框,…

Qt 实现波浪填充的圆形进度显示

话不多说&#xff0c;先上效果图 代码示例&#xff1a; #include <QApplication> #include <QWidget> #include <QPainter> #include <QPropertyAnimation> #include <QTimer> #include <cmath>class WaveProgressBar : public QWidget {…

Linux vim mode | raw / cooked

注&#xff1a;机翻&#xff0c;未校。 vim terminal “raw” mode Vim 终端 “raw” 模式 1. 原始模式与已处理模式的区别 We know vim puts the terminal in “raw” mode where it receives keystrokes as they are typed, opposed to “cooked” mode where the command…

docker部署dify

1.安装docker 参考链接 https://ascendking.blog.csdn.net/article/details/136407383 设置docker源 vim /etc/docker/daemon.json {"registry-mirrors": ["https://docker.registry.cyou", "https://docker-cf.registry.cyou", "http…

Linux应用:Linux的信号

什么是信号 信号是一种软件中断&#xff0c;用于通知进程系统中发生了某种特定事件。它是操作系统与进程之间&#xff0c;以及进程与进程之间进行异步通信的一种方式。在 Linux 系统中&#xff0c;信号是一种比较简单的进程间通信机制。当一个信号产生时&#xff0c;内核会通过…

实时监控、数据分析!Web-Check构建你的网站健康检测系统实操方案

文章目录 前言1.关于Web-Check2.功能特点3.安装Docker4.创建并启动Web-Check容器5.本地访问测试6.公网远程访问本地Web-Check7.内网穿透工具安装8.创建远程连接公网地址9.使用固定公网地址远程访问 前言 在数字化运维领域&#xff0c;网站稳定性保障始终是开发者和运维团队的核…

win32汇编环境,网络编程入门之八

;在上一教程里&#xff0c;我们学习了简单的处理服务器返回的数据 ;在这一教程里&#xff0c;我们了解一下&#xff0c;当连接上网站后&#xff0c;应该发送什么数据过去的问题 ;这里有个简单的方式学习&#xff0c;以下是一个示例 ;我们上网的时候可以用谷歌浏览器&#xff0c…

一文了解ThreadLocal

什么是ThreadLocal&#xff1f; ThreadLocal是每个线程私有的&#xff0c;线程可以把自己的私有数据放到ThreadLocal里面&#xff0c;不用担心其他线程访问到自己ThreadLocal。 通过set()方法将值存入ThreadLocal或者修改值&#xff0c;get()方法取出值&#xff0c;remove()方…