当前位置: 首页 > 知识库问答 >
问题:

查找重复0或n次时可以生成两个给定字符串的最小字符串x

邓昀
2023-03-14

我在一次编码挑战中被问到这个问题,但我的解决方案通过了8/14个测试用例,无法100%解决它。我需要理解这个问题背后的逻辑。我的方法是找出串联t0或n次数是否可以给出s。如果是,我返回t的最长重复子字符串。

给定字符串s和字符串t,查找最小字符串x的长度,这样,如果将x级联任意次数,我们将得到st。如果不可能返回-1;

s = bcdbcdbcd
t = bcdbcd

如果字符串t被级联两次,则结果bcdbcdbcd>ssos不能被t整除。返回-1

s = bcdbcdbcdbcd
t = bcdbcd

如果字符串T被级联两次,则结果BCDBCDBCDBCD=S,因此S可被T整除。可以级联以获得st的最小字符串xbcd。返回其长度,3。

s = lrbb
t = lrbb

如果Stringlrbb被级联一次,我们得到Strings和Stringt。返回其长度,4。

s = rbrb
t = rbrb

如果StringRB被级联两次,我们得到StringS和StringT。返回其长度2。

共有1个答案

萧心远
2023-03-14

正如问题所说,x不必与t相同。试试s的最短重复子串,看看它是否将T分开。

 类似资料:
  • 我有一个这样的字符串: 我正在尝试获取任何显示为title(title=“anything here”)的内容。我已经尝试过了,但无法正常工作。

  • 本文向大家介绍Java重复一个字符串n次,包括了Java重复一个字符串n次的使用技巧和注意事项,需要的朋友参考一下 示例 问题:创建一个String包含的n重复项String s。 琐碎的方法将反复地将 String 这会创建n包含1的新字符串实例,以n重复s生成,导致运行时为。O(s.length() * n²) = O(s.length() * (1+2+...+(n-1)+n)) 为了避免这

  • 我遇到了一个问题语句,要在给定的两个子字符串之间找到所有公共子字符串这样一种方式,在每种情况下都必须打印最长的子字符串。问题声明如下: 编写一个程序来查找两个给定字符串之间的公共子字符串。但不包括包含在较长公共子字符串中的子字符串。 null 在这种情况下,您不必使用字符串实用程序方法,如:contains、indexOf、StringTokenizer、split和replace。 我的算法是这

  • 问题内容: 给定一个字符c和一个数字n,我如何创建一个包含n个重复c的字符串?手动执行此操作太麻烦了: 当然,已经有一些静态库函数为我完成了这项工作? 问题答案:

  • 问题内容: 给定分隔符的第n次出现后,是否存在Python方式来拆分字符串? 给定一个字符串: 它应分为(第二次出现后,定界符为“ _”): 还是实现此目的的唯一方法是计数,拆分和合并? 问题答案: 似乎这是最易读的方式,替代方法是regex)

  • 问题内容: 如何找到两个子字符串之间的字符串? 我当前的方法是这样的: 但是,这似乎效率很低而且不合Python。什么是做这样的更好的方法? 忘了提:该字符串可能无法启动,并最终和。他们之前和之后的字符可能更多。 问题答案: