LeetCode题解(1135):最低成本联通所有城市(Python)
发布日期:2021-06-29 20:21:47
浏览次数:3
分类:技术文章
本文共 1435 字,大约阅读时间需要 4 分钟。
题目:(中等)
标签:图、Prim算法、Kruskal算法
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g N ) O(NlogN) O(NlogN) | O ( N ) O(N) O(N) | 208ms (62.25%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
class Solution: def minimumCost(self, n: int, connections: List[List[int]]) -> int: min_idx, min_val = (-1, -1), float("inf") graph = collections.defaultdict(dict) for edge in connections: if edge[1] not in graph[edge[0]] or edge[2] < graph[edge[0]][edge[1]]: graph[edge[0]][edge[1]] = edge[2] graph[edge[1]][edge[0]] = edge[2] if edge[2] < min_val: min_idx, min_val = (edge[0], edge[1]), edge[2] ans = 0 waiting = { i for i in range(1, n + 1)} heap = [] # 添加最短的边 ans += min_val waiting.remove(min_idx[0]) waiting.remove(min_idx[1]) for n2, v2 in graph[min_idx[0]].items(): if n2 in waiting: heapq.heappush(heap, (v2, n2)) for n2, v2 in graph[min_idx[1]].items(): if n2 in waiting: heapq.heappush(heap, (v2, n2)) while heap and waiting: v1, n1 = heapq.heappop(heap) if n1 in waiting: ans += v1 waiting.remove(n1) for n2, v2 in graph[n1].items(): if n2 in waiting: heapq.heappush(heap, (v2, n2)) return ans if not waiting else -1
转载地址:https://dataartist.blog.csdn.net/article/details/117188248 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月04日 04时04分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
facebook市场营销SDK之个人理解 Star.hou原创
2019-04-30
Redis AOF之重写 Star.hou原创
2019-04-30
Redis之主从配置的心跳 Star.hou原创
2019-04-30
vim or sed字符串批量替换
2019-04-30
redis之队列处理回滚记录 star.Hou
2019-04-30
Laravel repository数据仓库使用 Star.hou红楼一梦
2019-04-30
Laravel之文件上传
2019-04-30
Redis 3.2.3 源码安装(centos6.8)
2019-04-30
全站翻译分享---Localize平台的使用方式整理--Star.hou
2019-04-30
根据浏览器语言自动切换多语言站点 Star.hou
2019-04-30
Mac 忘记root密码解决方法--Star.hou
2019-04-30
elasticSearch 批量添加索引的数量 Star.hou
2019-04-30
阿里云存储OSS对接PHP之Star.hou
2019-04-30
PHP Imap模块删除函数 --Star.hou
2019-04-30
快速搭建Dev / Test / Porduct 环境妙招--Star.hou
2019-04-30
SSD:虽然我适应多尺度,可是数据扩增对我可太重要了/(ㄒoㄒ)/~~
2019-04-30