Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 给定字符串的秩,查找给定字符串中具有给定秩的所有子字符串_String_Algorithm_Data Structures - Fatal编程技术网

String 给定字符串的秩,查找给定字符串中具有给定秩的所有子字符串

String 给定字符串的秩,查找给定字符串中具有给定秩的所有子字符串,string,algorithm,data-structures,String,Algorithm,Data Structures,假设字符串的排序模式是基于从1到k的字符编号,如果其中有k个不同的字符 (使用的字符有一个顺序,这里我们假设A

假设字符串的排序模式是基于从1到k的字符编号,如果其中有k个不同的字符 (使用的字符有一个顺序,这里我们假设Achar(Y) 然后,我们将数字分配给字符出现的相应索引

例如

字符串-cdbcb,这里是B-1,C-2,D-3

秩-2创建相应的秩数组

例2-

字符串-degbcdhereb-1,C-2,D-3,E-4,G-5

排名-354123

(简而言之,我们将最小的字符指定给值1,然后将次大的字符指定给值2,依此类推)

现在的问题是:

给定大小为m的字符串S和大小为n的数组p形式的秩模式;查找具有给定秩模式的子字符串的数量? (m将大于n,以在字符串S中生成多个可能的解)

例如-

S是一个CBADCAE

p是1 3 2 1 4 S中有两个子字符串符合模式P

这里,在子串[0,4]中,即A C B A D

排名1 3 2 1 4

再次在子串[3,7]中,即A D C A e

排名1 3 2 1 4

所以,这里的答案是2

我知道一个O | SR | soln.和一个O | S(logR+RlogR)| soln。 我们能做得更好吗??如果是这样的话,有人能告诉我如何从这里解读这个问题:以及它的解决方案吗