如何在给定数组中查找重复的字符序列?

如何在给定数组中查找重复的字符序列?,第1张

如何在给定数组中查找重复字符序列?

对于您的示例,我的第一种方法是

  1. 获取数组的第一个字符(对于您的最后一个示例,该字符为
    C
  2. 获取该字符在数组中下一次出现的索引(例如9)
  3. 如果找到,则在字符的两个外观之间搜索子字符串的下一个外观(在本例中为
    CARPENTER
  4. 如果找到,就完成了(结果是此子字符串)。

当然,这仅适用于可能的数组的非常有限的子集,在该子集中,从头开始一遍又一遍地重复相同的单词,中间没有杂散字符,并且在单词内不重复其第一个字符。但是您所有的示例都属于此类-
我更喜欢可能可行的最简单解决方案:-)

如果重复的单词多次包含第一个字符(例如

CACTUS
),则算法可以扩展为查找该字符的后续出现,不仅查找第一个字符(这样它就可以找到整个重复的单词,而不仅仅是查找它的一个子串)
)。

请注意,对于您的第二个示例,此扩展算法将给出不同的结果,

RONRON
而不是
RON



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5564834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存