2025-10-26:将所有元素变为 0 的最少操作次数 用go语言,给定一

B站影视 欧美电影 2025-10-26 14:46 1

摘要:2025-10-25:找到频率最高的元音和辅音。用go语言,给你一个只包含小写英文字母的字符串 s。请分别在元音集合 {a, e, i, o, u} 和其余字母(即辅音)中找出各自出现次数最多的字母,然后把这两个最大出现次数相加并返回结果。若元音或辅音在字符串

2025-10-25:找到频率最高的元音和辅音。用go语言,给你一个只包含小写英文字母的字符串 s。请分别在元音集合 {a, e, i, o, u} 和其余字母(即辅音)中找出各自出现次数最多的字母,然后把这两个最大出现次数相加并返回结果。若元音或辅音在字符串中完全未出现,则把对应的次数视为 0;若有多种字母并列为最高频,任选其中一种即可。字母的“出现次数”即该字母在 s 中出现了多少次。

1

s 只包含小写英文字母。

输入: s = "successes"。

输出: 6。

解释:

元音有:'u' 出现 1 次,'e' 出现 2 次。最大元音频率 = 2。

辅音有:'s' 出现 4 次,'c' 出现 2 次。最大辅音频率 = 4。

输出为 2 + 4 = 6。

题目来自力扣3541。

首先,遍历字符串 s,用一个 map[byte]int 来记录每个字符出现的次数。
例如 s = "successes":

• s → 4 次

• u → 1 次

• c → 2 次

• e → 2 次
其他字母未出现。

初始化 vowel = 0 和 consonant = 0。
然后遍历 26 个小写字母 'a' 到 'z':

• 对于每个字母,从 mp 中取出它的出现次数 count(如果没出现过就是 0)。

• 判断该字母是否为元音(a, e, i, o, u 之一):

如果是元音,则更新 vowel = max(vowel, count)。如果是辅音,则更新 consonant = max(consonant, count)。

• 元音字母:

a → 0e → 2 → vowel = 2i → 0o → 0u → 1 → vowel = max(2, 1) = 2
所以元音最大频率 = 2。

• 辅音字母:

b ~ d 等略过c → 2 → consonant = 2s → 4 → consonant = max(2, 4) = 4
所以辅音最大频率 = 4。

结果 = 2 + 4 = 6。

• 遍历字符串一次,长度 n,O(n)。

• 遍历 26 个字母,固定 O(26) 即 O(1)。
总时间复杂度:O(n)

• 哈希表 mp 最多存储 26 个不同字母的计数,所以额外空间是 O(26)O(1)(因为字母表固定大小)。

• 其他变量是常数空间。

总额外空间复杂度:O(1)

package mAInimport ( "fmt")func maxFreqSum(s string)int { mp := make(map[byte]int) for i := 0; i # -*-coding:utf-8-*-def max_freq_sum(s: str) -> int: mp = {} for char in s: mp[char] = mp.get(char, 0) + 1 vowel = 0 consonant = 0 for ch in 'abcdefghijklmnopqrstuvwxyz': count = mp.get(ch, 0) if is_vowel(ch): vowel = max(vowel, count) else: consonant = max(consonant, count) return vowel + consonantdef is_vowel(c: str) -> bool: return c in {'a', 'e', 'i', 'o', 'u'}if __name__ == "__main__": s = "successes" result = max_freq_sum(s) print(result)

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。

来源:雪珍教育

相关推荐