华为OD机试统一考试D卷C卷 -最长的指定瑕疵度的元音子串
题目描述
开头和结尾都是元音字母(aeiouAEIOU)的字符串为元音字符串,其中混杂的非元音字母数量为其瑕疵度。比如:
- “a” 、 “aa”是元音字符串,其瑕疵度都为0
- “aiur”不是元音字符串(结尾不是元音字符)
- “abira”是元音字符串,其瑕疵度为2
给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0。
子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。
输入描述
首行输入是一个整数,表示预期的瑕疵度flaw,取值范围[0, 65535]。
接下来一行是一个仅由字符a-z和A-Z组成的字符串,字符串长度(0, 65535]。
输出描述
输出为一个整数,代表满足条件的元音字符子串的长度。
用例
输入
0
asdbuiodevauufgh
输出
3
java
import java.util.*; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 输入瑕疵度 int flaw = scanner.nextInt(); scanner.nextLine(); // 读取换行符 // 输入字符串 String s = scanner.nextLine(); // 定义元音字母集合 Set<Character> vowels = new HashSet<>(Arrays.asList('a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U')); // 记录
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
机试E卷D卷刷题日记 文章被收录于专栏
机试刷题记录