输入一个字符串s ,返回 两个相同字符之间的最长子字符串的长度 ,计算长度时不含这两个字符。如果不存在这样的子字符串,返回 -1 。
示例 1:
输入:s = "abca"
输出:2
解释:最优的子字符串是 "bc" 。
示例 2:
输入:s = "ptmvx"
输出:-1
解释:s 中不存在出现出现两次的字符,所以返回 -1 。
# -*- coding: utf-8 -*-
str_input = input("输入字符串:\n")
# 存储所有的相同字符之间的距离
length = []
# 贪心
# 依次检查每个字符与其后面字符之间的距离
for i, word in enumerate(str_input):
for index in range(len(str_input)-i-1):
# 如果此字符之后的字符与其相同,计算出长度
# if str_input[index+1+i] == str_input[i]:
if str_input[index+1+i] == word:
length.append(index)
if len(length) == 0:
print('-1')
else:
print(f'最大长度:{max(length)}')
# test_str = 'asdfghjdpoiqweg'