[NeetCode 150] Clone Graph

C#上位机开发入门:从基础到进阶的全方位指南 C#作为一门现代化编程语言,具备强大的功能和广泛的生态支持,适合用于开发各种类型的上位机应用。通过学习并掌握UI开发、通信协议、多线程编程、数据库操作等技能,你可以打造出稳定、易用、性能优异的上位机软件。 阅读详情

Clone Graph

Given a node in a connected undirected graph, return a deep copy of the graph.

Each node in the graph contains an integer value and a list of its neighbors.

class Node {
public int val;
public List neighbors;
}
The graph is shown in the test cases as an adjacency list. An adjacency list is a mapping of nodes to lists, used to represent a finite graph. Each list describes the set of neighbors of a node in the graph.

For simplicity, nodes values are numbered from 1 to n, where n is the total number of nodes in the graph. The index of each node within the adjacency list is the same as the node’s value (1-indexed).

The input node will always be the first node in the graph and have 1 as the value.

Example 1:

Input: adjList = [[2],[1,3],[2]]

Output: [[2],[1,3],[2]]

Explanation: There are 3 nodes in the graph.
Node 1: val = 1 and neighbors = [2].
Node 2: val = 2 and neighbors = [1, 3].
Node 3: val = 3 and neighbors = [2].

Example 2:

Input: adjList = [[]]

Output: [[]]

Explanation: The graph has one node with no neighbors.

Example 3:

Input: adjList = []

Output: []

Explanation: The graph is empty.

Constraints:

0 <= The number of nodes in the graph <= 100.
1 <= Node.val <= 100
There are no duplicate edges and no self-loops in the graph.

Solution

We can use a dictionary to record the map between the original node and its copy. This dictionary can also be used to check whether a node has been visited.

Code

"""
# Definition for a Node.
class Node:
    def __init__(self, val = 0, neighbors = None):
        self.val = val
        self.neighbors = neighbors if neighbors is not None else []
"""

class Solution:
    def cloneGraph(self, node: Optional['Node']) -> Optional['Node']:
        if node is None:
            return None

        old_new = {}
        def dfs(origin):
            copy = old_new[origin]
            for n in origin.neighbors:
                if n in old_new:
                    copy.neighbors.append(old_new[n])
                    continue
                new_n = Node(n.val, None)
                old_new[n] = new_n
                copy.neighbors.append(new_n)
                dfs(n)

        ans = Node(node.val, None)
        old_new[node] = ans
        dfs(node)
        return ans
        
授时中心被攻击?Windows 11 电脑时间不准?手把手教您如何更换国内稳定高速的时间服务器(时间服务器整理) 近期授时中心被攻击,时间同步重要性凸显。Windows 11 默认服务器在国内常遇网络问题。本文教你轻松修改时间服务器,选择更稳定、快速的国内优质服务器,彻底解决电脑时间不准的烦恼,让你的系统时间永远精准如一!🚀 阅读详情

相关推荐

普通人也能看懂的Transformer源代码解释(PyTorch)

Transformer源代码解释之PyTorch篇 章节 词嵌入 位置编码 多头注意力 搭建Transformer 在这里插入图片描述 词嵌入 Transformer本质上是一种Encoder,以翻译任务为例,原始数据集是以两种语言组成一行的,在应用时,应是Encoder输入源语言序列,Decoder里面输入需要被转换的语言序列(训练时)。一个文本常有许多序列组成,常见操作为将序列进行一些预处理(如词切分等)变成列表,一个序列的列表的元素通常为词表中不可切分的最小词,整个文本就是一个大列表,元素为一个一

qq_50974223的博客 4170

Luogu4366[CodePlus#4] 最短路

原题链接:https://www.luogu.org/problemnew/show/P4366 最短路 题目背景 在北纬 91° ,有一个神奇的国度,叫做企鹅国。这里的企鹅也有自己发达的文明,称为企鹅文明。因为企鹅只有黑白两种颜色,所以他们的数学也是以二进制为基础发展的。 比如早在 111010011110100111101001 年前,他们就有了异或这样一个数学概念。如果你不知...

ShadyPi的IT笔记 8万+

知识推理——TransE(知识表示、知识嵌入)

知识图谱嵌入/表示方法 TransE

missyoudaisy的博客 1831

Luogu3387【模板】缩点(Kosaraju)

原题链接:https://www.luogu.org/problemnew/show/P3387 【模板】缩点 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入输出格式 输入格式: 第一行,n,m 第二行,n个整数,依次代表点权 ...

ShadyPi的IT笔记 2165

计算机组成原理课程设计_微程序控制的简单模型机设计

微程序控制的简单模型机设计 要求 基本要求 完成一个简单主机的设计,模型机应具备如下能力:在自行设计的指令集基础上,运行自行编写的简单用户程序,实现特定运算功能。 弹性要求 在此基础上,完成必要的扩展,实现模型机的功能扩展设计,包括:实现多种运算功能(指令集的扩充)、支持更为丰富的寻址方式、有更为完善的微程序设计等。 实验软件和硬件环境 QuartusII, FPGA计算机组...

sailist的记录站 3万+

EPSON RX8010SJ RTC实战:I2C寄存器配置避坑指南(附完整初始化代码)

本文详细解析了EPSON RX8010SJ RTC芯片在I2C寄存器配置中的常见问题与解决方案,包括TEST位、STOP位和中断控制等关键配置要点。通过实战经验分享和完整的初始化代码模板,帮助开发者避免常见陷阱,确保RTC模块的稳定运行。

weixin_28678831的博客 407

[Tarjan四连]Tarjan缩点

模板链接:https://www.luogu.org/problemnew/show/P3387 【模板】缩点 题目背景 缩点+DP 题目描述 给定一个n个点m条边有向图,每个点有一个权值,求一条路径,使路径经过的点权值之和最大。你只需要求出这个权值和。 允许多次经过一条边或者一个点,但是,重复经过的点,权值只计算一次。 输入输出格式 输入格式: 第一行,...

ShadyPi的IT笔记 1085

帆软js--获取控件和单元格

参数面板: 获取面板控件 ,name为控件名称:_g().parameterEl.getWidgetByName("name") 取值:_g().parameterEl.getWidgetByName("tt3").getValue()2323 赋值:_g().parameterEl.getWidgetByName("tt2").setValue("987") 调用对应的事件比...

江湖行骗老中医 7199

[2018.03.29 T2] 公交旅行

原题链接:http://192.168.110.253/st/problem_show.php?pid=1131 公交旅行 【题目描述】 蒜头是一位优秀的旅行家。 人类的发展总离不开一代又一代的探险者先驱。追寻前人的轨迹,今天的蒜头到了一个有趣的城市, 和蒜头居住的城市一样有趣。 在这个城市中有 n 个站台和 m 条公交线路,第 i 条公交线路由 ti 个站台组成,记为 si...

ShadyPi的IT笔记 1060

将物理信息神经网络(PINN)应用于微通道湍流的拓扑优化,并结合COMSOL数据进行训练与快速预测

本文提出一种基于物理信息神经网络(PINN)的微通道散热器流场快速预测方法。通过有限组COMSOL仿真数据训练神经网络,结合Navier-Stokes方程和能量方程作为物理约束,构建可快速预测新拓扑结构下速度场和温度场的替代模型。该方法包含数据准备、网络构建、损失函数设计等关键步骤,利用自动微分计算方程残差,显著降低传统CFD优化的计算成本,实现秒级/分钟级的流场预测,为微通道散热器拓扑优化提供高效解决方案。

huanghm88的专栏 536

基于ENVI完成影像的去云操作以及后续处理

利用ENVI完成重采样影像的去云操作 由于SNAP重采样之后的影像是分波段保存的,ENVI的波段运算工具一次也只能输出一个波段,所以去云的操作分波段进行,原理是掩膜法 下面是打开所有波段后的界面 去云的依据是以quality_scene_classification栅格文件为基础,该文件是哨兵2数据自带的场景质量分类图,包含12个级别,可以通过SNAP软件查看,如下图所示: 对于去云操作而言,我们只需要DARK_FEATURE_SHADOW(地形等),CLOUD_SHADOW(云阴影)、CL

lemon_tttea的博客 2万+

[NeetCode 150] Course Schedule II

【代码】[NeetCode 150] Course Schedule II。

ShadyPi的IT笔记 935

浏览器缓存导致代码不更新?一招解决部署后用户仍看到旧页面的问题

方案效果适用场景文件名哈希永久解决前端工程化项目HTTP缓存头控制精准控制需服务器权限Meta标签部分生效临时补救方案最佳实践:入口HTML禁用缓存,静态资源使用哈希文件名 + 长期缓存,达到「秒级更新」+「高性能」的平衡!

江拥羡橙的博客 810

挑战性题目DSCT401:全源最短路径Floyd算法的并行实现

UESTC 数据结构挑战性课程题目

ShadyPi的IT笔记 790

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

BZOJ5218[Lydsy2017省队十连测] 友好城市

原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=5218 友好城市 Description 在Byteland 一共有n 座城市,编号依次为1 到n,这些城市之间通过m 条单向公路连接。对于两座不同的城市a 和b,如果a 能通过这些单向道路直接或间接到达b,且b 也能如此到达a,那么它们就会被认为是一对友好城市。Byteland 的交通...

ShadyPi的IT笔记 728

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

[NeetCode 150] Foreign Dictionary

Topological sort

ShadyPi的IT笔记 704

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LOJ2321「清华集训 2017」无限之环

费用流神题 无限之环 Description 曾经有一款流行的游戏,叫做InfinityLoop,先来简单的介绍一下这个游戏: 游戏在一个n×m的网格状棋盘上进行,其中有些小方格中会有水管,水管可能在方格某些方向的边界的中点有接口,所有水管的粗细都相同,所以如果两个相邻方格的公...

ShadyPi的IT笔记 695

[NeetCode 150] Redundant Connection

【代码】[NeetCode 150] Redundant Connection。

ShadyPi的IT笔记 694

BZOJ2438[中山市选2011] 杀人游戏

原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2438 杀人游戏 Description 一位冷血的杀手潜入 Na-wiat,并假装成平民。警察希望能在 N 个人里面,查出谁是杀手。警察能够对每一个人进行查证,假如查证的对象是平民,他会告诉警察,他认识的人, 谁是杀手, 谁是平民。 假如查证的对象是杀手, 杀手将会把警察干掉。...

ShadyPi的IT笔记 592

[2018.10.17 T2] 最优路线

暂无链接 最优路线 【题目描述】 一个nnn个点mmm条边的无重边无自环的无向图,点有点权,边有边权,定义一条路径的权值为路径经过的点权的最大值乘边权最大值。求任意两点间的权值最小的路径的权值。 【输入格式】 第一行两个整数n,mn,mn,m,分别表示无向图的点数和边数。 第二行nnn个正整数,第iii个正整数表示点iii的点权。 接下来mmm行每行三个正整数ui,vi,wiu_i,v_i,w_...

ShadyPi的IT笔记 571

BZOJ2259[Oibh] 新型计算机

原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=2259 新型计算机 Description Tim正在摆弄着他设计的“计算机”,他认为这台计算机原理很独特,因此利用它可以解决许多难题。 但是,有一个难题他却解决不了,是这台计算机的输入问题。新型计算机的输入也很独特,假设输入序列中有一些数字(都是自然数——自然数包括0),计算机先读取第...

ShadyPi的IT笔记 553

BZOJ5192[Usaco2018 Feb] New Barns

原题链接:https://www.lydsy.com/JudgeOnline/problem.php?id=5192 New Barns Description FarmerJohn注意到他的奶牛们如果被关得太紧就容易吵架,所以他想开放一些新的牛棚来分散她们。每当FJ建造一个新牛棚的时候,他会将这个牛棚用至多一条双向道路与一个现有的牛棚连接起来。为了确保他的奶牛们足够分散,他有时想要确定...

ShadyPi的IT笔记 552

视频隐私脱敏工程化:CSRT/KCF追踪算法在本地推理中的实现与边界

在短视频内容合规审查中,动态遮挡(Dynamic Masking)是高频且高耗时的环节。传统手动关键帧打码不仅效率低下,且在目标快速移动或遮挡时极易出现遮罩漂移。本文从计算机视觉工程角度,解析基于CSRT与KCF算法的目标追踪方案在视频隐私处理中的技术路径、性能权衡及落地实践。

Mysssone的博客 266

【算法拾光】链表 哈希表|K个一组翻转链表 + 两数之和

K个一组翻转链表需分段反转,借助哑节点与前驱指针维护连接,避免断链;两数之和利用哈希表实现O(1)查找,空间换时间,高效定位目标组合。前者考察链表指针操作,后者聚焦映射关系构建,均为面试高频题。

wuqingyigexiaoba的博客 324

把 KV Cache 压到 FP4:BitDecoding-FP4 的算法-系统协同设计复盘

长上下文推理卡在KV Cache的显存与带宽上,而现有FP4方案要么精度崩、要么速度废。这篇文章复盘BitDecoding-FP4如何用三个算法补丁加一个系统重构,在B300上把服务吞吐提升2.4–3.0倍,精度几乎不掉。

helloagent的博客 305

排序算法深度笔记(下):非比较类排序的线性突破与工程边界

排序算法时间复杂度额外空间复杂度稳定性是否基于比较选择排序O(N^2)(O(1))不稳定是冒泡排序O(N^2)(O(1))稳定是插入排序O(N^2)(O(1))稳定是归并排序O(N\log N)(O(N))稳定是快速排序O(N\log N)O(log N)不稳定是堆排序O(N\log N)O(1)不稳定是计数排序(O(N + M))O(M))稳定否基数排序O(N)稳定否桶排序平均O(N) / 最坏O(N^2)

2401_87069538的博客 599
上一篇: [NeetCode 150] Longest Palindromic Substring
下一篇: [NeetCode 150] Find Minimum in Rotated Sorted Array
ShadyPi
博客等级 码龄9年 1万+粉丝 637原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShadyPi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值