分析
考虑每一位数字对最终总和的贡献,画出表格分析小例子得到模式。
解法一: 模式
s = raw_input()
n = len(s)
candies = 0
mul = 1
MOD = 1000000007
for index in xrange(n - 1, -1, -1):
candies = (candies + (ord(s[index]) - ord('0')) * mul *(index + 1)) % MOD
mul = (mul * 10 + 1) % MOD
print candies
解法二: 动态规划
s = raw_input()
n = len(s)
MOD = 1000000007
pre = int(s[0])
candies = pre
for i in xrange(1, n):
pre = (ord(s[i]) - ord('0')) * (i + 1) + pre * 10
pre = pre % MOD
candies = (candies + pre) % MOD
print candies % MOD

本文解析了一道关于数字字符串求和的算法题目,提供了两种解决方案:模式法和动态规划法。通过分析每位数字对总和的贡献,设计出高效的算法实现。
5561

被折叠的 条评论
为什么被折叠?



