Leetcode03
2024-06-13 20:16:22
Merge K sorted link list
还是昨天的合并 K 个有序链表,今天去社区看了下,还有更简单的解决方案,时间复杂度和空间复杂度更好,大概的思路是用python的最小堆来实现,每次从堆里弹出最小元素,然后最近一次哪个链表出了最小元素就把下一个塞进堆里,很高效,很简洁,元祖(tuple)的运用是这个实现的点睛之笔,下面贴出代码
def mergeKLists(self, lists):from heap import heappop, heapify, heapreplacedummy = node = ListNode(0)# 下面这一步很赞h = [(n.val), n] for n in lists if n]# n 转 minheapheapify(h)while(h):# 取 堆里最小的值v, n = h[0]if n.next is None:heappop(h)else:# 弹出最小值,并把同一链表的下一个最小值放进堆中heapreplace(h, (n.next.val, n.next))node.next = nnode = node.nextreturn dummy.next
复制代码
Conclusion
想起了大佬 Linus 的那句话
"Bad programmers worry about the code. Good programmers worry about data structures and their relationships."
转载于:https://juejin.im/post/5c7ba8626fb9a049f23d7b11
Leetcode03相关推荐
- LeetCode03:无重复字符的最长子串
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- JAVA窗口sin值_大厂经典笔试题—LeetCode03无重复字符的最长子串(滑动窗口)
题目描述 原创作者:bigsai,长期维护不易,如有收获还请点赞.收藏支持! 题目描述: 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabc ...
- 【删文说明】谁说本科妹纸不能拿 BAT SP Offer?
点击????小卡片,回复 "1024" 获取大厂面试指南 删文小插曲 大家好,我是石头哥. 昨天手快的朋友可能看到我有一篇推送,但是后来删除了.在此补充说明一下原因. 没想到,昨天 ...
最新文章
- Java面试题及答案整理( 2022年最新版,持续更新)
- 同步手绘板——将View的内容映射成Bitmap转图片导出
- 域名抢注之乱象:投资的暴利,管理的漏洞
- 《硝烟中的Scrum和XP》-首感
- C语言“悬空指针”和“野指针”究竟是什么意思?
- mysql5.6找不到int_为什么在mysql 5.6中,在int字段上自动递增跳过“2147483646”?
- 基于Docker的开发模式驱动持续集成落地实施
- 佐藤hiroko-爱拯救了我(步之物语)
- Qt安装要注意的事项(Qt安装教程)
- 学生图书管理系统(附源代码及数据库)
- Fluent UDF中调用Matlab函数(以误差函数erf为例)
- Selenium+IP爬虫刷新网页
- 软件工程--快速原型模型详解
- mysql min pool size_数据库连接池问题 Max Pool Size
- 动漫制作都用html5吗,怎么制作h5动画?
- 博客-空间-视频作品点赞的固定独立IP
- 谷粒商城-分布式事务
- 脏读(dirty read)不可重复读(unrepeatable read)幻读(phantom problem)解析
- 天籁obd接口针脚定义_汽车OBD接口定义
- 苹果cms怎么做html缓存广告,苹果cms如何添加播放器预加载和缓冲广告
热门文章
- Android应用开发:网络编程-2
- Android提醒:Dialog,Toast,Snackbar
- python sort 部分元素_Python 犄角旮旯--List
- 项目中使用completablefuture_“工业冷冻用中大型冷盐水机组使用R290替代R22项目”通过验收...
- linux mysql库看不见,linux下Mysql找不到mysqlclient库!谢谢大家
- php如何实现根据地区内筛选,PHP区块查询实现方法分析
- Linux下Nginx编译安装过程详解
- 群晖备份linux分区,黑群晖二合一系统无损扩充系统分区方法补充
- php pdo连接不成功,php – 为什么PDO在连接失败时打印我的密码?
- 残缺棋盘问题算法分析_javascript使用递归回溯算法和贪心算法解决马踏棋盘问题...