Topcoder_3_155

来源:互联网 发布:神经网络理论知乎 编辑:程序博客网 时间:2024/04/30 05:07

【问题描述】
    给定一个字符串数组,连接该数组组成一个字符串。从该字符串中找出一对非空等长并且非重叠的子串(A, B),如果这对子串中相应位置上仅有不超过k个的不同的字符,那么这对子串就称为k阶相似子串。
    现在要求计算出该字符串所有存在k阶相似关系的子串个数。例如,对于字符串STRING,如果其子串A能在STRING中再找到有一个子串B(A和B要符合非空、等长、在STRING中不重叠的要求),满足A和B为k阶相似子串,则A满足条件。

  定义:
类  SimilarPairs
方法  public int howManyElements(String[] text, int k)

  约束:
1、字符串数组包含1至50个元素,每个元素包括1至50个小写字符('a'..'z');
2、k取值在0至2500之间。

  测试用例:
1、{"abacd"}  1   Returns: 6
2、{"aaaa"}   0    Returns: 2
3、{"abcdefgh"}   2    Returns: 15
4、{"a", "ab", "abc"}   0    Returns: 3
5、{"abacd"}   0    Returns: 1

原创粉丝点击