(剧透-这是一个self回答的问题)假设我有两个索引序列,例如usingi1=std::index_sequence;和usingi2=std::index_sequence;我想制作一个数组(在编译时),其中按顺序包含8个元素:1,2,3,4,5,6,7,8,这样下面的代码就可以工作了(比如,在全局范围内):std::arrayarr=make_array(i1{},i2{});注意:如果我只想要一个序列,解决方案很简单:templateconstexprautomake_arr(std::index_sequence)returnstd::array{Ix...};}但是如果我需要
数组(3,5,1,3,5,48,4,7,13,55,65,4,7,13,32)数字的频繁序列将是(3,5)f=2+(4,7,13)f=2有什么算法或伪代码可以找到它吗?更新(1):如果(7,13)也出现,它将通过更新其频率包含在最长的一个中(4,7,13)f=3等等...更新(2):如果是(1,2,3,4,1,2,3,4,1,2,7,8,7,8,3,4,3,4,1,2)输出应该是(1,2,3,4)&(3,4,1,2)&(7,8),明确地将每个数字视为一个单词,并且您想找到最常见的短语所以在很多短语中看到相同的单词是很常见的,但是如果任何短语是任何其他短语的子字符串短语不应被视为短语,但