Evaluate Boolean Expression — LeetCode 1440 Python Solution

MediumLeetCode PremiumDatabase
Problem
#1440
Reading time
4 min

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

MeasureComplexity
TimeO(n log n) (typical)
SpaceO(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.

Stuck on problems like this in a live interview?

Stealth Interview is a desktop app for macOS and Windows. It reads the problem off your screen and returns a working solution with a step-by-step explanation and its time and space complexity — invisible to screen sharing.

Get Stealth Interview