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

面试150 克隆图

在这里插入图片描述

思路

调库法,python可以直接使用copy.deepcopy函数进行深拷贝。此外就是通过一个哈希表 d 记录原节点与其克隆节点的映射关系,防止重复克隆和处理图中的环。首先判断起始节点是否为空,若非空则从起点开始递归遍历。每访问一个未被克隆的节点时,创建其副本并存入字典,然后递归克隆其所有邻居节点,构建邻接关系。最终返回起始节点的克隆副本,即为整个图的深拷贝。

"""
# Definition for a Node.
class Node:def __init__(self, val = 0, neighbors = None):self.val = valself.neighbors = neighbors if neighbors is not None else []
"""from typing import Optional
class Solution:def cloneGraph(self, node: Optional['Node']) -> Optional['Node']:return copy.deepcopy(node)
"""
# Definition for a Node.
class Node:def __init__(self, val = 0, neighbors = None):self.val = valself.neighbors = neighbors if neighbors is not None else []
"""from typing import Optional
class Solution:def cloneGraph(self, node: Optional['Node']) -> Optional['Node']:if not node:return None d={}def dfs(old):if old not in d:node=Node(old.val)d[old]=nodenode.neighbors=[dfs(nei) for nei in old.neighbors]return d[old]return dfs(node)
http://www.dtcms.com/a/286241.html

相关文章:

  • 通缩期的 “反脆弱” 研发:新启航逆势投入 30% 营收突破 3D 白光干涉测量技术
  • 深孔加工的方法及检测方法探究 —— 激光频率梳 3D 轮廓检测
  • 29、鸿蒙Harmony Next开发:深浅色适配和应用主题换肤
  • 计算机网络基础:从协议到通信全解析(大致框架)
  • 基于 WinForm 与虹软实现人脸识别功能:从理论到实践
  • VisualXML全新升级 | 新增BusLoad计算
  • python控制linux命令反馈
  • 二刷 黑马点评 附近商户
  • 如何更改 SQLserver 数据库存储的位置 想从C盘换到D盘
  • Delphi EDI 需求分析与对接指南
  • Springboot3整合Elasticsearch8(elasticsearch-java)
  • 智和信通赋能:北京某高校校园网交换机全维度智能管控
  • 洛谷 P10112 [GESP202312 八级] 奖品分配-普及/提高-
  • 基于SpringBoot 投票系统 【源码+LW+PPT+部署】
  • Gemini Function Calling 和 Qwen3 Embedding和ReRanker模型
  • 40.限流规则
  • 用线性代数推导码分多址(CDMA)
  • 第16章 基于AB实验的增长实践——验证想法:AB实验实践
  • 【Python】一些PEP提案(三):with 语句、yield from、虚拟环境
  • 智象科技赋能金融、证券行业 IT 运维
  • Fluent许可有效期查询
  • 堆的实现,堆排序,咕咕咕
  • 几款开源的安全监控与防御工具分享
  • C++---cout、cerr、clog
  • 深度解析Linux文件I/O三级缓冲体系:用户缓冲区→标准I/O→内核页缓存
  • RV126平台NFS网络启动终极复盘报告
  • 深入解析 vLLM 分布式推理与部署策略
  • ChatBot 还能记住我是谁?深度解析对话系统中的记忆机制
  • 一文通晓25G多模光模块:SFP-25G-SR和SFP-25G-ESR的区别
  • 机器学习基础:线性回归算法详解(原理+代码+实战)