如何快速合并两个链表
来源:互联网 发布:用idle打开python文件 编辑:程序博客网 时间:2024/06/03 03:19
如何快速合并两个链表这个问题是在面试的时候遇到的,面试官是微软资深CTO周雷先生,面试的时候周先生一共出了三个题目:
1.两个无序的链表将其合并成一个,要考虑用时最少,内存最少(数据结构中的时间复杂度,空间复杂度):
拿到这问题,一开始想的是先把两个链表进行排序,然后分别插入到一个新的链表,虽然可以完成这样的效果,显然不是最优的方案,然后又想既然考虑的内存最优,那可以在原来的基础上进行修改,我的思路是这样的:首先对两个集合进行排序,然后固定一个集合进行遍历,将另外一个集合中的元素插入进去,这个方法看起来也可以到达预期效果,这个时候周先生摇摇头,说还是不行,你的思维固定在排序上,排序白白浪费时间,为何不换个思维,要考虑的时间,内存方面,其实可以这么做,新建一个空的链表,将另外两个插入到这个表中(当时就想这不是跟第一种想法一样),还没说完,精华就是每次比较两个链表的第一个元素拿到较小的(假如从小到大排序)按顺序插入到新的链表中,并且把插入过得元素删掉,从而保证每次只比较第一个元素,外层使用一个while循环控制,这样的效率比之前的高多了
2.考一个思维逻辑题:一堆萝卜有100根,有一个兔子最多一次可以背50根,这个兔子背着萝卜回家,她的家在距离萝卜堆50米的地方,不过这个兔子太爱吃萝卜了,每走一步都要吃一根,问兔子最多可以背多少根萝卜到家?(最要走都要吃)
3.这个问题记得不太清楚,毕竟是2年前的面试题了,兔子最多剩多少根,期待你们的神评论
最后总结发现只要是技术大牛面试都会问一些很基础,很底层的东西,恰好我们又容易忽略,他们更看重我们思维逻辑和钻研精神
1 0
- 如何快速合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- 合并两个链表
- EXCEL两个表如何通过关联合并
- 如何合并两个DataTable表的数据
- 如何合并两个已排序的表?
- 如何合并两个vector?
- 如何合并两个二进制文件
- 如何合并两个图标库
- 快速合并两个TList【delphi7】
- 快速合并两个有序数组
- 合并两个升序链表
- 合并两个有序链表
- 数据结构 合并两个链表
- 介绍了用Meta标签代码让360双核浏览器默认极速模式(google)打开网站不是兼容模式
- json.parsearray使用详解
- 微信服务器IP地址详解,并判断该地址是否来自微信
- 【解决】Error 0x2 starting python
- 中国首届开发者关系大会DevRelon2017
- 如何快速合并两个链表
- 基于STM8s官方标准库建立IAR工程
- show databases不能正确显示的问题
- GLSL. 语法基础
- 使用 Awaitility 测试异步代码
- 求最大不重复子串(Java)
- TOP-K
- AndroidStudio插件GsonFormat:根据Json自动生成JavaBean
- sublime 使用技巧