摘要:
Spark拥有DAG执行引擎,支持在内存中对数据进行迭代计算 Spark不仅支持Scala编写应用程序,而且支持Java和Python等语言进行编写,特别是Scala是一种高效、可拓展的语言,能够用简洁的代码处理较为复杂的处理工作。 Spark生态圈即BDAS 》 Spark具有很强的适应性,能够读 阅读全文
摘要:
把链表右边的 拿过来以此插入到左边的链表 思路: 如果链表长度为N,直接给出时间复杂度为O(N) 额外空间复杂度为O(1)的方法 1 如果链表为空,或者长度为1 不调整 2 链表长度大于1时, 遍历一便找到左半区最后一个节点 记为mid 阅读全文
摘要:
给定两个有序单链表的头节点head1 和 head2 ,请合并两个有序链表,合并后的链表依然有序,并返回合并后链表的头节点 假设两个链表长度为M和N 直接给出时间复杂度为(M+N) 额外空间复杂度O(1) 1 如果两个链表中一个为空 则无需合并 返回另一个的链表头节点 2 比较head1 和 hea 阅读全文
摘要:
题目: 一个环形链表从表头节点head开始不降序,同时由最后的节点指回头节点。给定这样一个环形单链表的头节点和一个整数num,请生成节点值为num的新节点,并插入到这个环形链表中,保证调整后的链表依然有序 时间复杂度O(N) 额外空间复杂度O(1) 的方法 1 生成节点的值为num的新节点, 记为n 阅读全文
摘要:
链表节点值类型为int,给定一个链表中的节点node,但不给定头节点,如何在链表中删除node? 你看看代码就知道 这个思想有多么操蛋了哈哈哈哈 阅读全文
摘要:
给定一个无序单链表的头节点head,实现单链表的选择排序 要求额外空间复杂度O(1) 思路: 既然额外空间复杂度O(1),就不能把链表装进容器,排好序后再从新链接,而是要求面试者在原链表上利用有限几个变量完成选择排序的过程。 选择排序是从未排序的部分找到最小值,然后放到排好序部分的尾部。 1 开始时 阅读全文
摘要:
给定一个链表的头节点head和一个整数num,请实现函数将值num的节点全部删除 方法一 利用栈或者其他容器收集的方法 时间复杂度O(N) 额外空间复杂度O(N) 将值不等于num的节点收集起来!!!哈哈哈哈哈哈哈哈哈哈啊哈哈哈哈啊哈哈 最后将占地的节点作为新的头节点返回 方法二 直接调整 首先从链 阅读全文
摘要:
给定一个无序单链表的头节点head,删除其中重复出现的节点 要求: 方法1 长度N 时间复杂度O(N) 方法2 额外空间复杂度O(1) 方法一 1 生成哈希表 头节点是不用删除的节点 所以首先将头放入哈希表 2 从头节点的下一个节点开始往后遍历 cur,检查是否在哈希表中,在则删除,不在 加入 同时 阅读全文
摘要:
给定一个单链表的表头节点head,实现一个调整单链表的函数,是的每k个节点之间逆序,如果最后不够k个节点一组,则不调整最后几个节点 思路: 如果k的值小于2,不调整。k<1 没有意义,k==1代表1个节点为1组进行逆序,原链表不变。 介绍两种方法: 方法一 利用栈结构 1、从左到右便利链表,如果栈的 阅读全文