HackerRank: Sam and sub-strings

来源:互联网 发布:剑侠情缘mac版 编辑:程序博客网 时间:2024/05/20 18:43

题目链接

分析

考虑每一位数字对最终总和的贡献,画出表格分析小例子得到模式。

解法一: 模式

s = raw_input()n = len(s)candies = 0mul = 1MOD = 1000000007for index in xrange(n - 1, -1, -1):    candies = (candies + (ord(s[index]) - ord('0')) * mul *(index + 1)) % MOD    mul = (mul * 10 + 1) % MODprint candies

解法二: 动态规划

s = raw_input()n = len(s)MOD = 1000000007pre = int(s[0])candies = prefor i in xrange(1, n):    pre = (ord(s[i]) - ord('0')) * (i + 1) + pre * 10    pre = pre % MOD    candies = (candies + pre) % MODprint candies % MOD
0 0
原创粉丝点击