当前为游客只读模式。登录后可提交代码判题并保存草稿与进度。
练题计划 · 力扣 HOT 100
除法求值
中等calcEquation()时间限制 2000 ms内存限制 128 MB复杂度要求 时间 O((N+Q) * V),空间 O(V)
除法求值
给你一个变量对数组 equations 和一个实数数组 values 作为已知条件,其中 equations[i] = [a_i, b_i] 和 values[i] 共同表示 a_i / b_i = values[i]。
再给你一些查询 queries,其中 queries[j] = [c_j, d_j],请根据已知条件求出 c_j / d_j 的结果。若无法确定则返回 -1.0。
约定
1 <= equations.length <= 20values.length == equations.length0.5 <= values[i] <= 201 <= queries.length <= 20equations[i].length == queries[j].length == 2- 变量名是长度为 1 到 5 的非空字符串。
输入
equations:除法等式左右变量values:对应等式的商queries:待求商的变量对
输出
每个查询的结果;若变量未出现或无法建立关系,返回 -1.0。
示例一
输入:
equations = [["a","b"],["b","c"]], values = [2.0, 3.0]
queries = [["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]]
输出:
[6.0, 0.5, -1.0, 1.0, -1.0]
解释:a/b=2.0,b/c=3.0,故 a/c=6.0;b/a=0.5;e 未知;a/a=1.0;x 未知。
复杂度要求
- 时间复杂度:建图
O(N),每个查询 DFSO(V) - 空间复杂度:
O(V)
Loading...
输入
[[["a","b"],["b","c"]],[2,3],[["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]]]
预期输出
[6,0.5,-1,1,-1]