「架构师训练营」作业:第 8 周
有两个单向链表(链表长度分别为 m,n),这两个单向链表有可能在某个元素合并,如下图所示的这样,也可能不合并。现在给定两个链表的头指针,在不修改链表的情况下,如何快速地判断这两个链表是否合并?如果合并,找到合并的元素,也就是图中的 x 元素。
请用(伪)代码描述算法,并给出时间福再度和空间复杂度。
双指针法
时间复杂度:O(n)
空间复杂度:O(1)
伪代码
C#
创建链表:
双指针法:
展示结果:
测试:
结果:
请画出 DataNode 服务器节点宕机的时候, HDFS的处理过程时序图
DataNode 启动时,向 NameNode 进行注册。
DataNode 定时向 NameNode 发送心跳,一般 3 分钟一次。
当某个 DataNode 超时没有向 NameNode 发送心跳,NameNode 就会判定这个 DataNode 坏掉了。
NameNode 会去检查这个坏掉的 DataNode 上记录的数据块有哪些,以及这些数据块的备份节点在哪些服务器上
检查完后,会通知其他有备份节点的服务器,把数据块复制一份到某个指定的服务器上
评论