-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
50 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
<h2><a href="https://leetcode.com/problems/evaluate-division/?envType=study-plan-v2&envId=leetcode-75">399. Evaluate Division</a></h2><h3>Medium</h3><hr><p>You are given an array of variable pairs <code>equations</code> and an array of real numbers <code>values</code>, where <code>equations[i] = [A<sub>i</sub>, B<sub>i</sub>]</code> and <code>values[i]</code> represent the equation <code>A<sub>i</sub> / B<sub>i</sub> = values[i]</code>. Each <code>A<sub>i</sub></code> or <code>B<sub>i</sub></code> is a string that represents a single variable.</p> | ||
|
||
<p>You are also given some <code>queries</code>, where <code>queries[j] = [C<sub>j</sub>, D<sub>j</sub>]</code> represents the <code>j<sup>th</sup></code> query where you must find the answer for <code>C<sub>j</sub> / D<sub>j</sub> = ?</code>.</p> | ||
|
||
<p>Return <em>the answers to all queries</em>. If a single answer cannot be determined, return <code>-1.0</code>.</p> | ||
|
||
<p><strong>Note:</strong> The input is always valid. You may assume that evaluating the queries will not result in division by zero and that there is no contradiction.</p> | ||
|
||
<p><strong>Note: </strong>The variables that do not occur in the list of equations are undefined, so the answer cannot be determined for them.</p> | ||
|
||
<p> </p> | ||
<p><strong class="example">Example 1:</strong></p> | ||
|
||
<pre> | ||
<strong>Input:</strong> equations = [["a","b"],["b","c"]], values = [2.0,3.0], queries = [["a","c"],["b","a"],["a","e"],["a","a"],["x","x"]] | ||
<strong>Output:</strong> [6.00000,0.50000,-1.00000,1.00000,-1.00000] | ||
<strong>Explanation:</strong> | ||
Given: <em>a / b = 2.0</em>, <em>b / c = 3.0</em> | ||
queries are: <em>a / c = ?</em>, <em>b / a = ?</em>, <em>a / e = ?</em>, <em>a / a = ?</em>, <em>x / x = ? </em> | ||
return: [6.0, 0.5, -1.0, 1.0, -1.0 ] | ||
note: x is undefined => -1.0</pre> | ||
|
||
<p><strong class="example">Example 2:</strong></p> | ||
|
||
<pre> | ||
<strong>Input:</strong> equations = [["a","b"],["b","c"],["bc","cd"]], values = [1.5,2.5,5.0], queries = [["a","c"],["c","b"],["bc","cd"],["cd","bc"]] | ||
<strong>Output:</strong> [3.75000,0.40000,5.00000,0.20000] | ||
</pre> | ||
|
||
<p><strong class="example">Example 3:</strong></p> | ||
|
||
<pre> | ||
<strong>Input:</strong> equations = [["a","b"]], values = [0.5], queries = [["a","b"],["b","a"],["a","c"],["x","y"]] | ||
<strong>Output:</strong> [0.50000,2.00000,-1.00000,-1.00000] | ||
</pre> | ||
|
||
<p> </p> | ||
<p><strong>Constraints:</strong></p> | ||
|
||
<ul> | ||
<li><code>1 <= equations.length <= 20</code></li> | ||
<li><code>equations[i].length == 2</code></li> | ||
<li><code>1 <= A<sub>i</sub>.length, B<sub>i</sub>.length <= 5</code></li> | ||
<li><code>values.length == equations.length</code></li> | ||
<li><code>0.0 < values[i] <= 20.0</code></li> | ||
<li><code>1 <= queries.length <= 20</code></li> | ||
<li><code>queries[i].length == 2</code></li> | ||
<li><code>1 <= C<sub>j</sub>.length, D<sub>j</sub>.length <= 5</code></li> | ||
<li><code>A<sub>i</sub>, B<sub>i</sub>, C<sub>j</sub>, D<sub>j</sub></code> consist of lower case English letters and digits.</li> | ||
</ul> |