Easy
Subtract the Product and Sum of Digits of an Integer — Python
Full explanation · Time O(logn) · Space O(1)
# Time: O(logn)
# Space: O(1)
class Solution(object):
def subtractProductAndSum(self, n):
"""
:type n: int
:rtype: int
"""
product, total = 1, 0
while n:
n, r = divmod(n, 10)
product *= r
total += r
return product-total
# Time: O(logn)
# Space: O(logn)
import operator
class Solution2(object):
def subtractProductAndSum(self, n):
"""
:type n: int
:rtype: int
"""
A = map(int, str(n))
return reduce(operator.mul, A) - sum(A)