Leetcode 3528. Unit Conversion I
- Leetcode 3528. Unit Conversion I
- 1. 解题思路
- 2. 代码实现
- 题目链接:3528. Unit Conversion I
1. 解题思路
这一题思路上就是一个宽度优先遍历的问题,给定的图本质上就是一个树,因此我们只需要按照宽度优先遍历的方式遍历一下全部的节点即可。
2. 代码实现
给出python代码实现如下:
MOD = 10**9+7class Solution:def baseUnitConversions(self, conversions: List[List[int]]) -> List[int]:n = len(conversions)+1graph = defaultdict(list)for src, tgt, conv in conversions:graph[src].append((tgt, conv))ans = [1 for _ in range(n)]q = [0]while q:src = q.pop(0)for tgt, conv in graph[src]:ans[tgt] = (ans[src] * conv) % MODq.append(tgt)return ans
提交代码评测得到:耗时595ms,占用内存78.2MB。