在Python中查找两个相等字符之间的最大子字符串的程序

假设我们有一个字符串 s,我们必须找到两个相等的字母或元素之间的最长子字符串的长度,不包括这两个字符。如果我们找不到这样的子串,则返回 -1。

因此,如果输入类似于 s = "level",那么输出将为 3,因为最佳子字符串可以是 "lev" 或 "vel"。

示例(Python)

def solve(s):

   memo = {}

   for i in range(len(s)):

      if s[i] in memo:

         memo[s[i]].append(i)

      else:

         memo[s[i]] = [i]

   best = 0

   for key in memo:

      best = max(best, memo[key][-1] - memo[key][0])

   return best - 1

s = "level"

print(solve(s))

输入

"level"
输出结果
3

以上是 在Python中查找两个相等字符之间的最大子字符串的程序 的全部内容, 来源链接: utcz.com/z/345796.html

回到顶部