当前位置: 首页 > 面试题库 >

查找最长的重复字符串及其在给定字符串中重复的次数

相旭
2023-03-14
问题内容

例如,给定字符串“ abc fghi bc kl abcd lkm abcdefg ”,该函数应返回字符串“ abcd ”,计数为2。

AO(n ^ 2)解决方案似乎很简单,但我正在寻找更好的解决方案。

编辑: 如果没有什么比O(n ^ 2)更好的方法,那将是最佳的性能选择。


问题答案:

您可以通过构建后缀树并采用从根到最深内部节点的路径来在线性时间内解决此问题。这将为您提供最长的重复字符串。一旦有了该字符串,对它出现的次数进行计数就很简单了。



 类似资料:
  • 我需要找到字符串中最长的序列,并警告序列必须重复三次或更多次。例如,如果我的字符串是: fdwaw4helloworld vcdv1c3xcv3xcz1sda21f2sd1ahelloworld gafgfa4564534321fadghelloworld 然后我希望返回值“helloworld”。 我知道有几种方法可以做到这一点,但我面临的问题是,实际的字符串太大了,所以我真的在寻找一种能够及时

  • 问题内容: 我们给了一个字符串,例如,取“ TUOPPPPJHHTT”。我们希望找出哪个字符在字符串中连续出现次数最多以及发生多少次。在这种情况下,其P发生4次。 我尝试如下运行for循环 但是用这种方法,问题是它将计算所有字母的重复出现。 问题答案: 每次找到与上一个字符不同的字符,则表示运行(连续重复的字母)结束,因此您应记下当前运行的长度(即的值),然后重置计数。最后,您可以打印最大值。

  • 本文向大家介绍写个方法,找出指定字符串中重复最多的字符及其长度相关面试题,主要包含被问及写个方法,找出指定字符串中重复最多的字符及其长度时的应答技巧和注意事项,需要的朋友参考一下

  • 问题是,我试图这么做,但我检查字符串长度的方法不起作用;我能做些什么来修复它?

  • 题目描述 输入一个字符串(只包含 a~z 的字符),求其最长不含重复字符的子字符串的长度。例如对于 arabcacfr,最长不含重复字符的子字符串为 acfr,长度为 4。 解题思路 // java public int longestSubStringWithoutDuplication(String str) { int curLen = 0; int maxLen = 0;

  • 问题内容: 我有一个字符串数组,其中包含字符串列表。我想弄清楚此列表中是否有重复的条目。基本上,我有一个用户列表,应该没有重复的条目。 问题答案: 您可以将String数组添加到HashSet 这将为您提供唯一的String值。如有必要,将HashSet转换回数组

  • 我必须制作一个Java程序,在给定的字符串中找到长度为n的所有重复子字符串。输入是字符串非常长,暴力方法需要花费太多时间。 我一直在尝试: 目前我正在分别查找每个子字符串,并使用KMP alogrithm检查该子字符串的重复。这也花了太多时间。 解决这个问题的更有效方法是什么?

  • 给定一个包含项a和B的字符串M,我想用每个a来代替B,用每个B来代替a来代替M'。天真地,人们会尝试用B代替A,然后用A代替B,但在这种情况下,M'只包含A。我可以想到替换这些项,并记录它们的位置,这样这些项就不会再被替换了。当我们只有A和B可以替换时,这是有效的。但是如果我们需要替换两个以上的项,而且它们的长度不同,那么这就变得很棘手了。 所以我想这样做: 我们将M作为输入字符串,并将R=[(x