Easy
Calculate Digit Sum of a String — Python
Full explanation · Time O(n) · Space O(n)
# Time: O(n + n * (log10(9k)/k) + ... + k)
# = O((n - (log10(9k)/k)*k)/(1-log10(9k)/k))
# = O(n / (1-log10(9k)/k)) = O(n) for k >= 2
# Space: O(n)
# simulation
class Solution(object):
def digitSum(self, s, k):
"""
:type s: str
:type k: int
:rtype: str
"""
while len(s) > k:
s = "".join(map(str, (sum(map(int, s[i:i+k])) for i in xrange(0, len(s), k))))
return s