【华为OD机试】连续字母长度(C++ Python Java)2023 B卷

题目描述

给定一个字符串,只包含大写字母,求在包含同一个字母的子串中,

长度第k长的子串的长度,相同字母只取最长的那个子串。

若子串中只包含同一个字母的子串数小于k,则输出-1.

输入描述:

第一行有一个字符串(1 < 长度 < 100),只包含大写字母

第二行有一个数字,表示k的值

输出描述:

输出连续出现次数第k多的字母的次数

示例1:

输入

AAAAHHHBBCDHHHH

3

输出

2

说明

同一字母连续出现的最多的是A和H,4次;

第二多的是H,3次,但是H已经存在4个连续的了,故不再考虑;

下个最长的子串是BB,其长度为2,所以最终答案应该输出2

示例2:

输入

AABAAA

2

输出

1

说明

同一字母连续出现的最多的是A,3次;

第二多的还是A,两次,但是A已经出现过了,故不考虑;

第二个最长子串是B,它的长度是1,所以输出1

示例3:

输入

ABC

4

你可能感兴趣的:(华为od机试2023B卷,算法,链表,华为od,python,c++,java)