Evaluate Boolean Expression — LeetCode 1440 Python Solution
MediumLeetCode PremiumDatabase
- Problem
- #1440
- Reading time
- 4 min
- Source
- leetcode.com
Table schema
SQL
Table Variables: +---------------+---------+ | Column Name | Type | +---------------+---------+ | name | varchar | | value | int | +---------------+---------+ In SQL, name is the primary key for this table. This table contains the stored variables and their values.Example
SQL
+---------------+---------+
| Column Name | Type |
+---------------+---------+
| name | varchar |
| value | int |
+---------------+---------+
In SQL, name is the primary key for this table.
This table contains the stored variables and their values.Python solution
Python
import duckdb
import pandas as pd
# Pass input tables as keyword arguments matching the SQL table names.
def solution(**tables) -> pd.DataFrame:
con = duckdb.connect()
for name, df in tables.items():
con.register(name, df)
return con.execute("""SELECT
left_operand,
operator,
right_operand,
CASE
WHEN (
(operator = '=' AND v1.value = v2.value)
OR (operator = '>' AND v1.value > v2.value)
OR (operator = '<' AND v1.value < v2.value)
) THEN 'true'
ELSE 'false'
END AS value
FROM
Expressions AS e
JOIN Variables AS v1 ON e.left_operand = v1.name
JOIN Variables AS v2 ON e.right_operand = v2.name;""").df()Complexity
| Measure | Complexity |
|---|---|
| Time | O(n log n) (typical) |
| Space | O(n) auxiliary |
Related problems
Frequently asked questions
- How hard is LeetCode 1440. Evaluate Boolean Expression?
- LeetCode 1440. Evaluate Boolean Expression is rated Medium on LeetCode.
- What topics does LeetCode 1440. Evaluate Boolean Expression cover?
- LeetCode 1440. Evaluate Boolean Expression is tagged Database on LeetCode.
- Is LeetCode 1440. Evaluate Boolean Expression a premium problem?
- Yes. LeetCode 1440. Evaluate Boolean Expression is a LeetCode Premium problem, so the full statement and test cases require a paid LeetCode subscription.