引用 1 楼 FancyMouse 的回复:如果要最快的方法的话,你需要一个叫后缀树的数据结构。一般情况O(nlogn),固定字典大小则O(n)。 不管速度的话,把n个前缀子串放在一起构造字典树然后统计频度就可以了。O(n^2) 谢谢,看了下后缀树的资料,应该是这种算法,不过我还没找到,c#将字符串快速生成后缀树的算法,后面的匹配就无法进行了
如果要最快的方法的话,你需要一个叫后缀树的数据结构。一般情况O(nlogn),固定字典大小则O(n)。 不管速度的话,把n个前缀子串放在一起构造字典树然后统计频度就可以了。O(n^2)
统计每个单字符出现的次数,并且记录每次出现的索引,然后,从次数最多的开始统计,比如B出现5次A出现4次,然后根据A和B的索引,判断AB是否是连续串,瞎想的
33,008
社区成员
35,326
社区内容
加载中
试试用AI创作助手写篇文章吧