在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