子字符串的深度扫描

本文关键字:扫描 深度 字符串 | 更新日期: 2023-09-27 18:12:12

很多时候我看到一些代码被标记为"已解决",有超过70票,但实际上在每个情况下,这都是解决方案的一部分。我有一个小问题与算法搜索(让我们说)

stringToSearch="aa";
sourceString="aaaaaa"; // len=6

大多数网络解决方案将返回3出现,错误是什么结果因为:

第一次出现= sourceString[0], sourceString[1]

第二次出现= sourceString[1], sourceString[2]

第3次出现= sourceString[2], sourceString[3]

第4次出现= sourceString[3], sourceString[4]

第5次出现= sourceString[4], sourceString[5]

现在事情变得有点复杂了…

编辑:问题是如何计算这些次数:)

子字符串的深度扫描

就像这样。

List<int> indexes = new List<int>();
for (int index = sourceString.indexOf(stringToSearch);
     index != -1;
     index = sourceString.indexOf(stringToSearch, index + 1)) {
  indexes.Add(index);
}