Arithmetic expression evaluation
Evaluate an arithmetic expression string containing non-negative integers, the binary operators + - * /, and parentheses. Standard precedence applies (* and / bind tighter than + and -); operators of equal precedence are left-associative. Division is integer division that truncates toward zero (like C). There may be spaces between tokens. The expression is always valid and contains no unary minus. Return the integer result. Assume no division by zero.
Implement
evaluate(expr: str) → intExamples
in
["2 + 3 * 4"]out14What a strong answer looks like
State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.
0:00 of about 35 min
solution.py
InputExpectedGot
["2 + 3 * 4"]14not run yetsample