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