leetcode 1837. Sum of Digits in Base K(python)

560 阅读1分钟

描述

Given an integer n (in base 10) and a base k, return the sum of the digits of n after converting n from base 10 to base k.

After converting, each digit should be interpreted as a base 10 number, and the sum should be returned in base 10.

Example 1:

Input: n = 34, k = 6
Output: 9
Explanation: 34 (base 10) expressed in base 6 is 54. 5 + 4 = 9.

Example 2:

Input: n = 10, k = 10
Output: 1
Explanation: n is already in base 10. 1 + 0 = 1.

Note:

1 <= n <= 100
2 <= k <= 10

解析

根据题意,就是将十进制的 n 转换为 k 进制,然后求各位数的和,很简单,不再赘述。

解答

 class Solution(object):
    def sumBase(self, n, k):
        """
        :type n: int
        :type k: int
        :rtype: int
        """
        r = 0
        while n>0:
            r += n%k
            n//=k
        return r           	      
		

运行结果

Runtime: 12 ms, faster than 92.04% of Python online submissions for Sum of Digits in Base K.
Memory Usage: 13.3 MB, less than 89.38% of Python online submissions for Sum of Digits in Base K.

原题链接:leetcode.com/problems/su…

您的支持是我最大的动力