# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 返回最小的花费代价使得这n户人家连接起来 # @param n int整型 n户人家的村庄 # @param m int整型 m条路 # @param cost int整型二维数组 一维3个参数,表示连接1个村庄到另外1个村庄的花费的代价 # @return int整型 # import time class Solution: def miniSpanningTree(self, n: int, m: int, cost: List[List[int]]) -> int: # write code here cost.sort(key=lambda x: x[2], reverse=False) visit = [0 for i in range(n+1)] visit[cost[0][0]] = 1 visit[cost[0][1]] = 1 cost_sum = cost[0][2] for k in range(1, n-1): for c in cost: if ((visit[c[0]] == 1 and visit[c[1]] == 0) or (visit[c[0]] == 0 and visit[c[1]] == 1)): cost_sum += c[2] visit[c[0]] = 1 visit[c[1]] = 1 cost.remove(c) break return cost_sum