子字符串是字符串中的一个连续(非空)的字符序列。
元音子字符串 是 仅 由元音('a'、'e'、'i'、'o' 和 'u')组成的一个子字符串,且必须包含 全部五种 元音。
给你一个字符串 word ,统计并返回 word 中 元音子字符串的数目 。
示例 2:
输入:word = "unicornarihan"
输出:0
解释:word 中不含 5 种元音,所以也不会存在元音子字符串。
示例 3:
输入:word = "cuaieuouac"
输出:7
解释:下面列出 word 中的元音子字符串:
- "c uaieuo uac"
- "c uaieuou ac"
- "c uaieuoua c"
- "cu aieuo uac"
- "cu aieuou ac"
- "cu aieuoua c"
- "cua ieuoua c"
提示:
1 <= word.length <= 100
word 仅由小写英文字母组成
java 答案
class Solution {
public int countVowelSubstrings(String word) {
int cnt = 0;
int l = word.length();
if (l<5)
return 0;
for (int i = 0; i < l; i++){
HashSet <Character> character = new HashSet<>();
for (int j = i; j < l; j++){
if(!vowel(word.charAt(j)))
break;
character.add(word.charAt(j));
if(character.size()==5)
cnt++;
}
}
return cnt;
}
public boolean vowel(char ch){
return ch == 'a' || ch == 'e' || ch == 'i'
|| ch == 'o' || ch == 'u';
}
}