网站推广手段有哪些,wordpress著名 app,济南网站关键词优化公司,网站开发 培训 周末班目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中#xff0c;刷题点这里 专栏导读
本专栏收录于《华为OD机试#xff08;JAVA#xff09;真题#xff08;A卷B卷#… 目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中刷题点这里 专栏导读
本专栏收录于《华为OD机试JAVA真题A卷B卷》。
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。
一、题目描述
开头和结尾都是元音字母aeiouAEIOU的字符串为元音字符串其中混杂的非元音字母数量为其瑕疵度。
比如
“a” 、 “aa”是元音字符串其瑕疵度都为0“aiur”不是元音字符串结尾不是元音字符“abira”是元音字符串其瑕疵度为2
给定一个字符串请找出指定瑕疵度的最长元音字符子串并输出其长度如果找不到满足条件的元音字符子串输出0。
子串字符串中任意个连续的字符组成的子序列称为该字符串的子串。
二、输入描述
首行输入是一个整数表示预期的瑕疵度flaw取值范围[0, 65535]。
接下来一行是一个仅由字符a-z和A-Z组成的字符串字符串长度(0, 65535]。
三、输出描述
输出为一个整数代表满足条件的元音字符最长子串的长度。
输入输出说明0 asdbuiodevauufgh3uio为瑕疵度为0的最长子串故长度为3 当然auu也是2 aeueo30
四、解题思路
核心思想 开头是元音结尾是元音中间出现的非元音字符是瑕疵度 这道题的关键是正则表达式的合理使用。
五、Java算法源码
package com.guor.od;import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class OdTest01 {public static void main(String[] args) {Scanner scanner new Scanner(System.in);// 预期的瑕疵度flawint flaw Integer.valueOf(scanner.nextLine());// 仅由字符a-z和A-Z组成的字符串String str scanner.nextLine();// 开头是元音 结尾是元音 中间出现的非元音字符是瑕疵度String regex ;if (flaw 0) {regex [aeiouAEIOU]{1,};} else {regex [aeiouAEIOU]{1};for (int i 0; i flaw; i) {regex [^aeiouAEIOU]{1}[aeiouAEIOU]*;}regex [aeiouAEIOU]{1};}Pattern pattern Pattern.compile(regex);Matcher matcher pattern.matcher(str);// 符合要求的字符串的最大长度int max 0;// 寻找符合要求的字符串while (matcher.find()) {// 符合要求的字符串System.out.println(str.substring(matcher.start(), matcher.end()));// 获取符合要求的字符串的最大长度if (matcher.end() - matcher.start() max) {max matcher.end() - matcher.start();}StringBuilder sb new StringBuilder(str);sb.setCharAt(matcher.start(), _);str sb.toString();matcher pattern.matcher(str);}System.out.println(长度 max);}
}六、效果展示
1、输入
2 nezhastudyjavaveryhard
2、输出
5
3、说明
掌握核心编程思想让你的编程不再烦恼。
开头是元音结尾是元音中间出现的非元音字符是瑕疵度。
符合要求的子串有
ezhaastuavave
最长的是avave长度5。 下一篇华为OD机试 - 荒岛求生 - 栈StackJava 2023 B卷 100分
本文收录于华为OD机试JAVA真题A卷B卷
刷的越多抽中的概率越大每一题都有详细的答题思路、详细的代码注释、样例测试发现新题目随时更新全天CSDN在线答疑。