我在解决this问题,这个问题需要在对字符串进行操作到第6行之后计算字符串中的“a”的数量。
我想出的解决办法是:

s='abcac'
n=52
x=n//len(s)
y=n%len(s)
k=s[:y]
s=(s*x)+k
from collections import Counter
print(s.count('a'))

--非常简单明了但当n是一个大数时,它会给出错误,例如10000000000。
如何优化我的解决方案?
提前谢谢。

最佳答案

不需要构建扩展字符串首先,计算字符串中适合n字符的完整重复次数:n//len(s)。然后将此计数乘以字符串中的“a”数一旦你有了它,你只需要计算出需要多少字符串来覆盖剩余的n字符:n%len(s),并计算出该子字符串中的“a”个数:
因此,结果将是:

 n//len(s)*s.count("a") + s[:n%len(s)].count("a")

10-08 04:18