1
# Runtime: 35 ms (Top 88.02%) | Memory: 14.1 MB (Top 5.79%)4
first replace - with +- in the string so that implementation gets10
def fractionAddition(self, expression: str) -> str:11
expression = expression.replace("-", "+-")12
parts = [item for item in expression.split("+") if item != ""]13
numes, denoms, denom_set, lcm = [], [], set(), 122
return a * get_lcm(1, b / a)24
return a * get_lcm(1, b)27
return b * get_lcm(a / b, 1)29
return b * get_lcm(a, 1)32
num, den = part.split("/")33
numes.append(int(num))34
denoms.append(int(den))35
lcm = get_lcm(lcm, int(den))38
for num, den in zip(numes, denoms):39
result += num * int(lcm / den)49
return get_gcd(a, b - a)51
return get_gcd(a - b, b)53
gcd = get_gcd(abs(result), lcm)54
return str(int(result / gcd)) + "/" + str(int(lcm / gcd))