与count()相比,有没有一种更快的方法来计数字符串中不重复出现的次数?

问题描述 投票:0回答:2

给出最小长度N以及1和0的字符串S(例如“ 01000100”),我试图返回包含所有'0'的长度为n的子字符串的非重叠出现次数。例如,给定n = 2和字符串“ 01000100”,非重叠“ 00”的数目为2。

这是我所做的:

def myfunc(S,N):
  return S.count('0'*N)

我的问题:是否有较快的方法来执行很长的字符串?这来自在线编码实践网站,我的代码通过了除一个测试用例之外的所有测试用例,该测试用例由于无法在规定的时间内完成而失败。做一些研究,看来我只能发现count()是最快的方法。

给出最小长度N以及1和0的字符串S(例如“ 01000100”),我试图返回包含所有'0'的长度为n的子字符串的非重叠出现次数。例如,...

python string algorithm counting
2个回答
2
投票

这可能会更快:


1
投票

lenik发表了很好的回应,效果很好。我还发现了另一个比count()更快的方法,我也将在这里发布它。它使用正则表达式库中的findall()方法:

© www.soinside.com 2019 - 2024. All rights reserved.