LeetCode题解(1168):水资源分配优化(Python)
题目:原题链接(困难)
标签:图、Prim算法、Kruskal算法
解法 | 时间复杂度 | 空间复杂度 | 执行用时 |
---|---|---|---|
Ans 1 (Python) | O ( N l o g N ) O(NlogN) O(NlogN) | O ( N ) O(N) O(N) | 184ms (86.67%) |
Ans 2 (Python) | |||
Ans 3 (Python) |
解法一:
import collections
import heapq
from typing import Listclass Solution:def minCostToSupplyWater(self, n: int, wells: List[int], pipes: List[List[int]]) -> int:graph = collections.defaultdict(dict)for edge in pipes: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]# 添加所有房屋到地下水结点的距离for i, well in enumerate(wells):graph[0][i + 1] = wellans = 0waiting = {i for i in range(0, n + 1)}heap = [(0, 0)]while heap and waiting:v1, n1 = heapq.heappop(heap)if n1 in waiting:ans += v1waiting.remove(n1)for n2, v2 in graph[n1].items():if n2 in waiting:heapq.heappush(heap, (v2, n2))return ans
LeetCode题解(1168):水资源分配优化(Python)相关推荐
- leetcode:1168. 水资源分配优化【思维转换 + 最小生成树】
目录 题目截图 题目分析 ac code 总结 题目截图 题目分析 # 必须要有一个水井# 假设所有水井都从供水局0出发# 在x处造一口井,等价与连接0和x,cost=wells[x - 1], x ...
- LeetCode题解(0733):油漆桶工具实现(Python)
题目:原题链接(简单) 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N ) O(N) O(N) O ( N ) O(N) O(N) 84ms (96.92%) Ans ...
- LeetCode题解(0625):最小因式分解(Python)
题目:原题链接(中等) 标签:数学.递归.贪心算法 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(logN)O(logN)O(logN) O(1)O(1)O(1) 44ms ...
- LeetCode题解(0741):摘樱桃(Python)
题目:原题链接(困难) 标签:动态规划.记忆化递归 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N3)O(N^3)O(N3) O(N3)O(N^3)O(N3) 436ms ...
- LeetCode题解(1834):单线程CPU(Python)
题目:原题链接(中等) 标签:堆.排序 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O ( N l o g N ) O(NlogN) O(NlogN) O ( N ) O(N ...
- LeetCode题解(1279):红绿灯路口(Python)
题目:原题链接(简单) 标签:多线程 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O(N)O(N)O(N) O(1)O(1)O(1) 52ms (88.89%) Ans 2 ...
- LeetCode题解(1728):猫和老鼠II(Python)
题目:原题链接(困难) 标签:动态规划 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) – – 520ms (96.20%) Ans 2 (Python) Ans 3 (Pyth ...
- LeetCode题解(1217):黄金矿工(Python)
题目:原题链接(中等) 标签:回溯算法.深度优先搜索 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) O((MN)2)O((MN)^2)O((MN)2) O(M×N)O(M×N) ...
- LeetCode题解(0855):考场就座(Python)
题目:原题链接(中等) 标签:有序映射 解法 时间复杂度 空间复杂度 执行用时 Ans 1 (Python) seat = O ( N ) O(N) O(N) ; leave = O ( N ) O( ...
最新文章
- Hadoop SequenceFile BLOCK压缩类型写入数据机制
- 【百度地图API】如何制作多途经点的线路导航——驾车篇
- JavaSE(六)——Object类、克隆方法
- Form提交前,ajax校验,并阻止提交
- 线性代数学的中国根源
- 状态模式 有限状态机_有限状态机解释
- 为什么计算机时间要从1970年1月1日开始算起
- HDU——1257最少拦截系统(贪心)
- Calendar类、自定义实现日历控件
- ERP和SAP是什么意思
- linux 删除用户 currently logged in,Linux执行usermod时提示user xxx is currently logged in
- U-Net模型搭建python实现
- 学习计划 -- 实时更新
- 秀米svg点击显示另一张图_公众号排版怎么做?点击图片出现另一张图片是怎么弄的?...
- 香农和图灵的边界|网络和计算的本质
- 基于卡方的独立性检验
- 读书笔记:Python编程——从入门到实践
- 人到中年,到底应该坚持打工还是去创业?
- VUE 前端中如何进行组件化开发?
- 强化学习系列7:无模型的蒙特卡洛法