(定义一个新的数据结构,每个节点除了具有普通链表的next域外,还有一个额外的引用指向任意节点。我们要对由该特殊数据结构形成的链表进行复制。) 我的方法:也就是克隆一个这种特殊链表,很快想到先不考虑原链表sibling域,复制出一个新的链表,然后再去给sibling域赋值。由于sibling可以指向 ...
分类:
编程语言 时间:
2019-10-16 18:09:10
阅读次数:
85
A $n^2$ 删点+暴力更新+bfs。 Code B 一个性质:从根到某个节点的gcd的数量不会超过log个。 因此从上往下更新答案,搞个map启发式合并即可。 C 链表维护一个节点的入边和出边,修改时暴力维护。可以证明复杂度最坏为 $O(n\sqrt{n})$ (完全图)。 $O(n\sqrt{ ...
分类:
其他好文 时间:
2019-10-03 12:39:29
阅读次数:
82
题目描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)分析:由于链表存在一个随机指针,所以不能按照普通的方法复制,按照如下方法复制:... ...
分类:
其他好文 时间:
2019-09-24 12:20:19
阅读次数:
75
输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 结点结构体如下: 这是一道剑指offer上的题目。下面看一下解析吧。 在做这道题之前 ...
分类:
其他好文 时间:
2019-09-06 23:06:47
阅读次数:
103
题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空 ...
分类:
其他好文 时间:
2019-08-30 13:18:46
阅读次数:
54
本周完成情况: 在8月的10号和11号整理了22道题目,基本都能说出思路,还有一题:复杂链表的复制还没有理解 现已完成剑指offer 40+的题目,基本看到题目有思路 完成其他思维,排序算法、树和排序算法(部分) 计划:每天花半个小时来背诵解题思路 下一周基本能将剑指offer结束 下周计划: ...
分类:
其他好文 时间:
2019-08-19 00:13:22
阅读次数:
75
题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 1 struct RandomListNode { 2 int label ...
分类:
其他好文 时间:
2019-08-16 18:23:43
阅读次数:
73
# -*- coding:utf-8 -*- # class RandomListNode: # def __init__(self, x): # self.label = x # self.next = None # self.random = None class Solution: # 返回 ... ...
分类:
其他好文 时间:
2019-08-11 23:08:04
阅读次数:
120
思路: 时间复杂度为O(N) 第一步 按照顺序复制每一个结点,并且把复制过的结点放在被复制结点的next指针后面: 第二步 复制其中的随机指针 第三步 分开上下两个单链表: 方法二: 空间换时间,哈希表: ...
分类:
其他好文 时间:
2019-07-09 16:45:00
阅读次数:
126