2062. 统计字符串中的元音子字符串

题目

子字符串 是字符串中的一个连续(非空)的字符序列。

元音子字符串 由元音('a''e''i''o''u')组成的一个子字符串,且必须包含 全部五种 元音。

给你一个字符串 word ,统计并返回 word元音子字符串的数目

示例1:

1
2
3
4
5
输入:word = "aeiouu"
输出:2
解释:下面列出 word 中的元音子字符串(斜体加粗部分):
- "aeiouu"
- "aeiouu"

示例2:

1
2
3
输入:word = "unicornarihan"
输出:0
解释:word 中不含 5 种元音,所以也不会存在元音子字符串。

示例3:

1
2
3
4
5
6
7
8
9
10
输入:word = "cuaieuouac"
输出:7
解释:下面列出 word 中的元音子字符串(斜体加粗部分):
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"
- "cuaieuouac"

示例4:

1
2
3
输入:word = "bbaeixoubb"
输出:0
解释:所有包含全部五种元音的子字符串都含有辅音,所以不存在元音子字符串。

提示:

  • 1 <= word.length <= 100
  • word 仅由小写英文字母组成

解法

解法一:

Java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public int countVowelSubstrings(String word) {
String s = "aeiou";
int len = word.length();
int count = 0;
for(int i = 0;i < len;i++){
Set<Character> set = new HashSet<>();
for(int j = i;j < len;j++){
if(s.indexOf(word.charAt(j)) < 0){
break;
}
set.add(word.charAt(j));
if(set.size() == 5){
count++;
}
}
}
return count;
}
0%