207. 课程表 - 力扣(LeetCode)

大佬图示

可以正确执行

会形成Loop

代码

python 复制代码
# encoding = utf-8
# 开发者:Alen
# 开发时间: 21:13 
# "Stay hungry,stay foolish."

class Solution(object):
    def canFinish(self, numCourses, prerequisites):
        """
        :type numCourses: int
        :type prerequisites: List[List[int]]
        :rtype: bool
        """
        preMap = [[] for _ in range(numCourses)]

        for crs, pre in prerequisites:
            preMap[crs].append(pre)

        # preMap = [
        #     [],      # 课程 0 没有先修课
        #     [0],     # 课程 1 需要先修 0
        #     [0],     # 课程 2 需要先修 0
        #     [1]      # 课程 3 需要先修 1
        # ]

        # visitSet = all courses along the curr DFS path
        visitSet = set()

        def dfs(crs):
            if crs in visitSet:
                return False
            if preMap[crs] == []:
                return True
            visitSet.add(crs)

            for pre in preMap[crs]:
                if not dfs(pre):
                    return False
            visitSet.remove(crs)
            preMap[crs] = []
            return True

        for crs in range(numCourses):
            if not dfs(crs):
                return False
        return True

结果

解题步骤:www.bilibili.com

相关推荐
地平线开发者4 小时前
【模型轻量化专题】衡量模型轻量性的指标
算法
学习星球7 小时前
OFDM技术精讲:正交性推导、循环前缀原理与80行Python链路仿真(附实测数据)
算法·面试·前端框架
alphaTao13 小时前
LeetCode 每日一题 2026/8/24-2026/8/30
python·算法·leetcode
Interview Aid11213 小时前
TikTok OA 四题分享|半小时内 AC,题目基本都是实现题
java·开发语言·算法·面试·职场和发展
顶点多余1 天前
那些在算法中适合巩固的知识点---1
java·前端·算法
罗西的思考1 天前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习
hahaha60161 天前
HLS高层次综合设计技巧--C++类和模板
图像处理·人工智能·算法·计算机视觉
多弗朗皮卡丘1 天前
算法详解4:买卖股票的最佳时机系列(上)
算法
维克兜率天1 天前
【维克】动量指标家族:RSI、ROC、CCI、Momentum全面解析
python·算法
AI情绪识别开源1 天前
检信 AI 智能推广平台(代号:JX-Promote)
人工智能·算法·erlang