给定一串s长度n,是否可以计算sO(n)中不同子串的数量?
s
n
例
输入: abb
abb
输出:5('abb', 'ab', 'bb', 'a', 'b')
5
'abb', 'ab', 'bb', 'a', 'b'
我做了一些研究,但我似乎无法找到一种能够以这种有效方式解决这个问题的算法.我知道O(n ^ 2)方法是可行的,但是有更高效的算法吗?
我不需要获得每个子串,只需要获得不同的子串(如果它有所不同).
string algorithm substring suffix-tree time-complexity
algorithm ×1
string ×1
substring ×1
suffix-tree ×1
time-complexity ×1