avatar
B*1
1
求一个字符中连续出现次数最多的子串
abcbcbcabc 中,连续出现的字符串为bc,连续三次
abcccabc中,最多的为c
要是不要求连续的话用suffix array很好弄,但是连续的,怎么弄才好呢?
谢谢。
avatar
l*c
2
suffix tree

【在 B*******1 的大作中提到】
: 求一个字符中连续出现次数最多的子串
: abcbcbcabc 中,连续出现的字符串为bc,连续三次
: abcccabc中,最多的为c
: 要是不要求连续的话用suffix array很好弄,但是连续的,怎么弄才好呢?
: 谢谢。

avatar
q*x
3
不连续的我也不会。谁给讲讲?

【在 B*******1 的大作中提到】
: 求一个字符中连续出现次数最多的子串
: abcbcbcabc 中,连续出现的字符串为bc,连续三次
: abcccabc中,最多的为c
: 要是不要求连续的话用suffix array很好弄,但是连续的,怎么弄才好呢?
: 谢谢。

avatar
a*2
4
建suffix tree,节点上计数

【在 q****x 的大作中提到】
: 不连续的我也不会。谁给讲讲?
avatar
q*x
5
给个例子?

【在 a**********2 的大作中提到】
: 建suffix tree,节点上计数
avatar
a*2
6
画一颗后缀树,建立过程中存在的节点就将这个节点加一,不存在就创建并设为1,最
后找出最大计数路径。
其实很好理解,后缀树是字符串所有后缀的字串的集合而成的,计数就相当于统计字串
的出现频率
连续的话用就不知道怎么弄了
avatar
q*x
7
abcd, bc不是前缀也不是后缀啊?

【在 a**********2 的大作中提到】
: 画一颗后缀树,建立过程中存在的节点就将这个节点加一,不存在就创建并设为1,最
: 后找出最大计数路径。
: 其实很好理解,后缀树是字符串所有后缀的字串的集合而成的,计数就相当于统计字串
: 的出现频率
: 连续的话用就不知道怎么弄了

avatar
b*g
8
这个suffix tree本身就是连续substring啊。
你的意思是不是“如果不是连续的就不知道怎么弄了”?

【在 a**********2 的大作中提到】
: 画一颗后缀树,建立过程中存在的节点就将这个节点加一,不存在就创建并设为1,最
: 后找出最大计数路径。
: 其实很好理解,后缀树是字符串所有后缀的字串的集合而成的,计数就相当于统计字串
: 的出现频率
: 连续的话用就不知道怎么弄了

avatar
b*g
9
bcd 是后缀,而且在suffix tree里面,bc是从root出发的substring。可以bottom up
计数,正如airplane1022所描述的。

【在 q****x 的大作中提到】
: abcd, bc不是前缀也不是后缀啊?
avatar
m*q
10
我觉得连续的子串也可以用suffix array啊
比如 abcbcbcabc
0123456789
0 abc
9 abcbcbcbcabc
5 bcabc
3 bcbcabc
1 bcbcbcabc
9 c
6 cabc
4 cbcabc
2 cbcbcabc
把sort后的array扫一遍,对于相邻的两个子串,判断它们的最长公共前缀
的长度是否是个等差数列,且这个等差数列的差等于相邻的两个子串的
index之差

【在 B*******1 的大作中提到】
: 求一个字符中连续出现次数最多的子串
: abcbcbcabc 中,连续出现的字符串为bc,连续三次
: abcccabc中,最多的为c
: 要是不要求连续的话用suffix array很好弄,但是连续的,怎么弄才好呢?
: 谢谢。

avatar
B*1
11
其实这个我也想过,但是这样子似乎复杂度很高啊,sort后找完common prefix再找等
差数列。

【在 m**q 的大作中提到】
: 我觉得连续的子串也可以用suffix array啊
: 比如 abcbcbcabc
: 0123456789
: 0 abc
: 9 abcbcbcbcabc
: 5 bcabc
: 3 bcbcabc
: 1 bcbcbcabc
: 9 c
: 6 cabc

avatar
a*m
12
长度有关系么?没限制的话找出现次数最多的字符就可以了吧?

【在 B*******1 的大作中提到】
: 求一个字符中连续出现次数最多的子串
: abcbcbcabc 中,连续出现的字符串为bc,连续三次
: abcccabc中,最多的为c
: 要是不要求连续的话用suffix array很好弄,但是连续的,怎么弄才好呢?
: 谢谢。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。