🌈 个人主页:(时光煮雨)
🔥 高质量专栏:vulnhub靶机渗透测试
👈 希望得到您的订阅和支持~
💡 创作高质量博文(平均质量分95+),分享更多关于网络安全、Python领域的优质内容!(希望得到您的关注~)
难度 ⭐⭐
题目回顾
给你一个由小写英文字母(‘a’ 到 ‘z’)组成的字符串 s。你的任务是找出出现频率 最高 的元音(‘a’、‘e’、‘i’、‘o’、‘u’ 中的一个)和出现频率最高的辅音(除元音以外的所有字母),并返回这两个频率之和。
注意:如果有多个元音或辅音具有相同的最高频率,可以任选其中一个。如果字符串中没有元音或没有辅音,则其频率视为 0。
一个字母 x 的 频率 是它在字符串中出现的次数。
示例 1:
输入: s = “successes”
输出: 6
解释:
- 元音有:‘u’ 出现 1 次,‘e’ 出现 2 次。最大元音频率 = 2。
- 辅音有:‘s’ 出现 4 次,‘c’ 出现 2 次。最大辅音频率 = 4。
- 输出为 2 + 4 = 6。
示例 2:
输入: s = “aeiaeia”
输出: 3
解释:
- 元音有:‘a’ 出现 3 次,‘e’ 出现 2 次,‘i’ 出现 2 次。最大元音频率 = 3。
- s 中没有辅音。因此,最大辅音频率 = 0。
- 输出为 3 + 0 = 3。
提示:
- 1 <= s.length <= 100
- s 只包含小写英文字母
✅ 解题思路
💖 概述
题目要求找出字符串中出现频率最高的元音字母(‘a’, ‘e’, ‘i’, ‘o’, ‘u’)和辅音字母(除元音外的其他字母),并返回两者频率之和。若字符串中无元音或辅音,则对应频率为0。
💓 核心思路
- 统计频率:使用长度为26的数组统计每个字母的出现次数。
- 动态更新最大值:遍历字符串时,实时更新元音和辅音的最大频率:
- 若当前字符是元音,更新元音最大频率。
- 若当前字符是辅音,更新辅音最大频率。
- 返回结果:将元音和辅音的最大频率相加。
✅ 代码实现
class Solution:
def maxFreqSum(self