12 最长的指定瑕疵度的元音子串

题目描述

开头和结尾都是元音字母(aeiouAEIOU)的字符串为元音字符串,其中混杂的非元音字母数量为其瑕疵度。

比如: 

1.“a”、“aa”是元音字符串,其瑕疵度都为0

2.“aiur”不是元音字符串(结尾不是元音字符)

3.“abira”是元音字符串,其瑕疵度为2

给定一个字符串,请找出指定瑕疵度的最长元音字符子串,并输出其长度,如果找不到满足条件的元音字符子串,输出0。

子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。

输入描述

首行输入是一个整数,表示预期的瑕疵度flaw,取值范围[0,65535]。

接下来一行是一个仅由字符a—z和A—Z组成的字符串,字符串长度(0,65535]。输出描述

输出为一个整数,代表满足条件的元音字符子串的长度。

12 最长的指定瑕疵度的元音子串_第1张图片

package com.company;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int flaw = sc.nextInt();
        String s = sc.next();
//        String s="asdbuiodevauufgh";
//        int flaw=0;
        System.out.println(get(s, flaw));
    }


    public static int get(String input,int k){
        char[] yuan = {'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'};
        HashSet set = new HashSet<>();
        for (char c : yuan) set.add(c);

        ArrayList idxs = new ArrayList<>();
        for (int i = 0; i k){
                l++;
            }else if (diff

你可能感兴趣的:(算法,数据结构)