2018年1月17日

reorder list(链表重新排序)

摘要: Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do this in-place without altering the nodes' values. For 阅读全文

posted @ 2018-01-17 16:32 夜的第八章 阅读(150) 评论(0) 推荐(0) 编辑

数据流中的中位数

摘要: 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 分析: 中位数就是数据排序前一部分的最后一个(最大值)和后半部分的第一个(最小值)的平均。当元素个数为奇数个时可 阅读全文

posted @ 2018-01-17 14:52 夜的第八章 阅读(268) 评论(2) 推荐(1) 编辑

insertion sort list (使用插入排序给链表排序)

摘要: Sort a linked list using insertion sort. 对于数组的插入排序,可以参看排序算法入门之插入排序(java实现),遍历每个元素,然后相当于把每个元素插入到前面已经排好序的数组里,对于数组,只要当前元素比前一个元素小,则前一个元素后移,然后继续跟再前面的元素比。 对 阅读全文

posted @ 2018-01-17 12:57 夜的第八章 阅读(305) 评论(0) 推荐(0) 编辑

Copy List with Random Pointer(复杂链表复制)

摘要: 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 第一种方法:使用map存放原节点和其复制节点。然后再给复制节点的next/rando 阅读全文

posted @ 2018-01-17 10:40 夜的第八章 阅读(131) 评论(0) 推荐(0) 编辑

导航