子串的深度扫描

时间:2014-07-09 10:47:22

标签: c# string algorithm search count

我多次看到一些代码被标记为"已解决"超过70票,但在每种情况下都是真实的,这是解决方案的一部分。搜索算法有点问题(比如说)

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

来自网络的大多数解决方案都会返回 3 出现,错误结果为什么

1st occurence = sourceString [0],sourceString [1]

2nd occurence = sourceString [1],sourceString [2]

3rd occurence = sourceString [2],sourceString [3]

4th occurence = sourceString [3],sourceString [4]

5th occurence = sourceString [4],sourceString [5]

现在事情变得越来越复杂......

编辑:问题是如何计算出现的那些:)

1 个答案:

答案 0 :(得分:1)

像这样。

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