python学习笔记7-图的建立常用技巧

题目链接

  • 题目中给了邻接链表,转为邻接矩阵
  • 初始化邻接矩阵 graph = \[ for _ in range(n)]
  • dfs() 的写法, 用visi避免重复访问,得到每个点所在的联通分量中点的个数
python 复制代码
class Solution:
    def countPairs(self, n: int, edges: List[List[int]]) -> int:
        graph = [[] for _ in range(n)]
        for x, y in edges:
            graph[x].append(y)
            graph[y].append(x)
        
        visi = [False] * n
        def dfs(x: int) -> int:
            visi[x] = True
            count = 1
            for y in graph[x]:
                if not visi[y]:
                    count += dfs(y)
            return count

        res = 0
        for i in range(n):
            if not visi[i]:
                count = dfs(i)
                res += count * (n - count)

        return res // 2
相关推荐
lie..5 分钟前
30天从零开始学AI应用开发(Day 1):机器学习、深度学习、大模型,到底是个啥关系
人工智能·python·大模型
Ivanqhz7 分钟前
Unigram 算法
开发语言·人工智能·python·深度学习·mlir
冯一川26 分钟前
Python 实现与 Ollama 运行的模型对话
人工智能·python
车间溜盖子32 分钟前
TE(TEC 半导体制冷片)Qc / Qh 冷热面基础定义
python
天赐范式36 分钟前
天赐范式第168天:让子代开始从父代肩膀上演化——跨代β传递demo与完整代码
python·数字生命·天赐范式·动态运行时·跨代β传递·可继承性验证·digitallife
刘天远36 分钟前
Agent系统接入编排:评分模型、状态机与Python门禁
数据库·人工智能·python
程序员yu1 小时前
数智码力:Python作用域完全梳理,全局变量局部变量不再混乱
开发语言·python·学习
北城笑笑2 小时前
Python Dev 02 & Tkinter webbrowser 实战,手写第一个 Python 桌面 GUI 小工具
人工智能·python·pip
CTA量化套保2 小时前
搜索“2026年交易工具推荐”时,先问清它要解决什么问题
人工智能·python
Ticnix2 小时前
答案一个字一个字往外蹦,聊天记录却一条都没存下来
python·agent