3813. 元音辅音得分
题目描述
给你一个字符串 s,由小写英文字母、空格和数字组成。
令 v 表示 s 中元音字母的数量,c 表示辅音字母的数量。
元音字母是 'a'、'e'、'i'、'o' 和 'u',而英文字母表中除元音外的其他字母均视为辅音字母。
字符串 s 的 得分 定义如下:
- 如果
c > 0,则score = floor(v / c),其中floor表示 向下取整 到最接近的整数。 - 否则,如果
c = 0,则score = 0。
返回一个整数,表示字符串的得分。
示例 1:
输入: s = "cooear"
输出: 2
解释:
字符串 s = "cooear" 包含 v = 4 个元音字母 ('o', 'o', 'e', 'a') 和 c = 2 个辅音字母 ('c', 'r')。
得分为 floor(v / c) = floor(4 / 2) = 2。
示例 2:
输入: s = "axeyizou"
输出: 1
解释:
字符串 s = "axeyizou" 包含 v = 5 个元音字母 ('a', 'e', 'i', 'o', 'u') 和 c = 3 个辅音字母 ('x', 'y', 'z')。
得分为 floor(v / c) = floor(5 / 3) = 1。
示例 3:
输入: s = "au 123"
输出: 0
解释:
字符串 s = "au 123" 不包含辅音字母 (c = 0),因此得分为 0。
提示:
1 <= s.length <= 100s仅由小写英文字母、空格和数字组成。
解法
方法一:计数
我们遍历字符串,统计元音字母和辅音字母的数量,分别记为 \(v\) 和 \(c\)。最后根据题意计算得分即可。
时间复杂度 \(O(n)\),其中 \(n\) 为字符串的长度。空间复杂度 \(O(1)\)。
1 2 3 4 5 6 7 8 9 10 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 | |