[leetcode] 1281. Subtract the Product and Sum of Digits of an Integer

Description

Given an integer number n, return the difference between the product of its digits and the sum of its digits.

Example 1:

Input: n = 234
Output: 15 
Explanation: 
Product of digits = 2 * 3 * 4 = 24 
Sum of digits = 2 + 3 + 4 = 9 
Result = 24 - 9 = 15

Example 2:

Input: n = 4421
Output: 21
Explanation: 
Product of digits = 4 * 4 * 2 * 1 = 32 
Sum of digits = 4 + 4 + 2 + 1 = 11 
Result = 32 - 11 = 21

Constraints:

  • 1 <= n <= 10^5

分析

题目的意思是:把一个数的数字拆分开,求其乘积和数字求和的差值。思路也是很直接,先把数变成单个的数字,然后求乘积,求和相减就行了。这两个操作可以放到一个循环里面。

代码

class Solution:
    def subtractProductAndSum(self, n: int) -> int:
        t=n
        res1=1
        res2=0
        while(t>0):
            res1*=t%10
            res2+=t%10
            t=t//10
        return res1-res2

你可能感兴趣的:(leetcode题解,python)