题目描述
给定一个字符串,只包含大写字母,求在包含同一字母的子串中,长度第 k 长的子串的长度,相同字母只取最长的那个子串。
输入描述
第一行有一个子串(1<长度<=100),只包含大写字母。
第二行为 k的值
输出描述
输出连续出现次数第k多的字母的次数。
输入
AAAAHHHBBCDHHHH
3
输出
2
说明
同一字母连续出现的最多的是A和H,四次;
第二多的是H,3次,但是H已经存在4个连续的,故不考虑;
下个最长子串是BB,所以最终答案应该输出2
输入
AABAAA
2
输出
1
说明
同一字母连续出现的最多的是A,三次;
第二多的还是A,两次,但A已经存在最大连续次数三次,故不考虑;
下个最长子串是B,所以输出1。
upper_str = input()
k = int(input())
li = []
c = 1
char_dic={}
for i in range(0,len(upper_str)-1):
if upper_str[i]==upper_str[i+1]:
c +=1
else:
char_dic[upper_str[i]] = c
c = 1
char_dic[upper_str[-1]] = c
print(char_dic)
v_li = list(char_dic.values())
v_li.sort(reverse=True)
if len(v_li)>=k:
print(v_li[k-1])
else:
print(-1)