网易首页 > 网易号 > 正文 申请入驻

2026-05-23:元音辅音得分。用go语言,给定只包含小写英文字母、空格和数字的字符串 s。 - 统计元音字母的数量 v:元音字母为 a、e、i、o

0
分享至

2026-05-23:元音辅音得分。用go语言,给定只包含小写英文字母、空格和数字的字符串 s。

  • • 统计元音字母的数量 v:元音字母为 a、e、i、o、u。

  • • 统计辅音字母的数量 c:除上述元音外的所有英文字母都算作辅音;空格和数字不计入 v 或 c。

计算规则:

  • • 若 c > 0,则得分为 ⌊v / c⌋(把 v 除以 c 后向下取整)。

  • • 若 c = 0,则得分为 0。

输出 s 的得分。

1 <= s.length <= 100。

s 仅由小写英文字母、空格和数字组成。

输入: s = "cooear"。

输出: 2。

解释:

字符串 s = "cooear" 包含 v = 4 个元音字母 ('o', 'o', 'e', 'a') 和 c = 2 个辅音字母 ('c', 'r')。

得分为 floor(v / c) = floor(4 / 2) = 2。

题目来自力扣3813。

代码执行过程分步详细描述 第一步:函数定义与初始化变量

程序首先定义了核心计算函数vowelConsonantScore,接收字符串参数s,并在函数内部初始化两个整型变量:

  • v:用于统计元音字母的数量,初始值为 0;

  • c:用于统计辅音字母的数量,初始值为 0。

第二步:遍历字符串的每一个字符

函数通过循环,逐个取出字符串s中的每一个字符,对每个字符依次做判断和处理。

第三步:过滤非字母字符

对当前遍历到的字符,先判断是否为英文字母

  • • 如果字符是空格、数字(非字母),直接跳过当前字符,不进行任何统计,继续遍历下一个字符;

  • • 如果字符是英文字母,则进入下一步的元音/辅音判断。

第四步:区分元音字母和辅音字母

针对筛选出的英文字母,进一步判断是否为元音字母(a、e、i、o、u):

  • • 如果字符是元音字母,将元音计数器v的值加 1;

  • • 如果字符不是元音字母(即辅音字母),将辅音计数器c的值加 1。

第五步:遍历结束,统计完成

当字符串中所有字符都遍历完成后,vc就分别存储了当前字符串中元音字母的总数量辅音字母的总数量
以输入s = "cooear"为例:

  • • 遍历后统计:元音v = 4(o、o、e、a),辅音c = 2(c、r)。

第六步:按照规则计算最终得分

根据题目规则判断并计算得分:

  1. 1. 首先检查辅音数量c是否大于 0;

  2. 2. 如果c > 0:计算v 除以 c的结果,并向下取整(整数除法自动向下取整),将该值作为函数返回值;

  3. 3. 如果c = 0:直接返回 0 作为得分。
    示例中c=2>0,计算4/2=2,返回结果 2。

第七步:主函数调用与输出结果

程序的主函数main中:

  1. 1. 定义输入字符串s = "cooear"

  2. 2. 调用核心函数vowelConsonantScore传入字符串,获取计算结果;

  3. 3. 通过打印语句输出最终结果 2。

时间复杂度与额外空间复杂度分析 1. 总时间复杂度

时间复杂度取决于字符串的遍历操作

  • • 程序只对输入字符串进行了一次从头到尾的遍历,遍历次数等于字符串的长度n

  • • 遍历过程中的每一步操作(判断是否为字母、判断是否为元音)都是常数时间 O(1)的操作;

  • • 没有嵌套循环、递归等耗时操作。

因此,总时间复杂度为 O(n)(n 为输入字符串的长度)。

2. 总额外空间复杂度

额外空间复杂度指除了输入数据本身外,程序运行时额外开辟的内存空间

  • • 程序仅定义了几个固定的变量(vc、循环字符变量),这些变量的内存占用是固定常数,不随输入字符串长度变化;

  • • 没有使用切片、map、数组等会随输入规模增长的动态数据结构;

  • • 仅用到了固定字符串"aeiou",属于常量空间。

因此,总额外空间复杂度为 O(1)(常数级空间)。

总结

  1. 1. 执行过程:初始化计数→遍历字符→过滤非字母→统计元音/辅音→按规则计算得分→输出结果;

  2. 2. 时间复杂度:O(n)(n 为字符串长度);

  3. 3. 额外空间复杂度:O(1)(常数空间)。

Go完整代码如下:

package main

import (
"fmt"
"strings"
"unicode"
)

func vowelConsonantScore(s string)int {
v, c := 0, 0
for _, ch := range s {
if !unicode.IsLetter(ch) {
continue
}
if strings.ContainsRune("aeiou", ch) {
v++
} else {
c++
}
}

if c > 0 {
return v / c
}
return0
}

func main() {
s := "cooear"
result := vowelConsonantScore(s)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

import string

defvowel_consonant_score(s: str) -> int:
v = 0
c = 0
vowels = set('aeiou')
for ch in s:
ifnot ch.isalpha():
continue
if ch in vowels:
v += 1
else:
c += 1
if c > 0:
return v // c # 使用整数除法,与 Go 的 int 除法行为一致
return0

defmain():
s = "cooear"
result = vowel_consonant_score(s)
print(result)

if __name__ == "__main__":
main()

C++完整代码如下:

#include  

#include
#include

int vowelConsonantScore(const std::string& s) {
int v = 0, c = 0;

for (char ch : s) {
if (!std::isalpha(static_cast(ch))) {
continue;
}

char lowerCh = std::tolower(static_cast(ch));
if (lowerCh == 'a' || lowerCh == 'e' || lowerCh == 'i' ||
lowerCh == 'o' || lowerCh == 'u') {
v++;
} else {
c++;
}
}

if (c > 0) {
return v / c;
}
return0;
}

int main() {
std::string s = "cooear";
int result = vowelConsonantScore(s);
std::cout << result << std::endl;
return0;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
A股:紧急提醒,股民做好准备了,7月22日周三,将迎来强烈的分化

A股:紧急提醒,股民做好准备了,7月22日周三,将迎来强烈的分化

虎哥闲聊
2026-07-22 00:00:04
张柏芝悼念谢贤:一句话都没说,不是谢家儿媳,却永远是他的家人

张柏芝悼念谢贤:一句话都没说,不是谢家儿媳,却永远是他的家人

大中国
2026-07-22 11:58:24
乌克兰无人机精准突袭俄军会议,百名军人全被消灭

乌克兰无人机精准突袭俄军会议,百名军人全被消灭

阅尽天下大事
2026-07-21 18:06:31
1983年朝鲜李雄平叛逃,留在本国的七位亲人惨遭处决流放无一幸免

1983年朝鲜李雄平叛逃,留在本国的七位亲人惨遭处决流放无一幸免

唠叨说历史
2026-07-02 12:52:17
超模卡门:77岁被骗光积蓄,83岁仍有性生活,91岁双腿仍旧迷人

超模卡门:77岁被骗光积蓄,83岁仍有性生活,91岁双腿仍旧迷人

锅锅爱历史
2026-05-30 00:23:28
乌克兰上校在录音中称:泽连斯基那个绿色的混蛋就是想要平民去死

乌克兰上校在录音中称:泽连斯基那个绿色的混蛋就是想要平民去死

西楼知趣杂谈
2026-07-20 23:27:12
世界杯落幕,哈兰德ins涨粉量居第1,涨粉超3210万,佛得角“门神”沃齐尼亚紧跟其后,涨粉近3000万

世界杯落幕,哈兰德ins涨粉量居第1,涨粉超3210万,佛得角“门神”沃齐尼亚紧跟其后,涨粉近3000万

极目新闻
2026-07-21 09:48:01
十年前,易建联花1000万在洛杉矶买下豪宅,如今出售市值多少?

十年前,易建联花1000万在洛杉矶买下豪宅,如今出售市值多少?

小兰聊历史
2026-04-26 08:44:22
记者:帕雷德斯的红牌没有被取消,因为他压根就没吃红牌

记者:帕雷德斯的红牌没有被取消,因为他压根就没吃红牌

懂球帝
2026-07-21 19:33:11
暴涨超14%!半导体、存储、光通信,集体大反攻

暴涨超14%!半导体、存储、光通信,集体大反攻

数据宝
2026-07-22 11:18:24
曼城全力高薪续约罗德里,球员萌生去意事出有因,周薪不及替补

曼城全力高薪续约罗德里,球员萌生去意事出有因,周薪不及替补

智道足球
2026-07-22 11:27:47
日本防长扬言:中国若再进行导弹试射,日本或可能松动无核三原则

日本防长扬言:中国若再进行导弹试射,日本或可能松动无核三原则

有态度的何总
2026-07-22 10:39:11
菲律宾屡屡挑衅,中国为啥不反击?俄专家一语道破:中国非常聪明

菲律宾屡屡挑衅,中国为啥不反击?俄专家一语道破:中国非常聪明

花颜蕴韵
2026-07-22 01:35:44
不愧是Netflix,这部美剧太顶了

不愧是Netflix,这部美剧太顶了

来看美剧
2026-07-21 23:50:06
姑娘,你注意点吧,都被有心人发现了

姑娘,你注意点吧,都被有心人发现了

舞指飞扬
2026-07-22 09:40:12
“没指名道姓,可都知道他在说谁!”丘成桐采访,再提某院士逆徒

“没指名道姓,可都知道他在说谁!”丘成桐采访,再提某院士逆徒

妍妍教育日记
2026-07-21 10:40:06
何长工在关键时刻站错队,此后官越做越小,建国后也没能参加授衔

何长工在关键时刻站错队,此后官越做越小,建国后也没能参加授衔

云端小院
2026-07-20 08:19:33
300 万赎金仍撕票,刘某文潜逃两年终归案

300 万赎金仍撕票,刘某文潜逃两年终归案

慕容律师
2026-07-21 15:49:27
世界杯决赛赛后冲突还原:先动手的不是帕雷德斯,导火索另有一拳 FIFA被曝将展开调查

世界杯决赛赛后冲突还原:先动手的不是帕雷德斯,导火索另有一拳 FIFA被曝将展开调查

红星新闻
2026-07-20 23:09:31
商务部、国家发改委、教育部、公安部、民政部、人社部、市场监管总局、国家医保局、最高人民法院,印发通知

商务部、国家发改委、教育部、公安部、民政部、人社部、市场监管总局、国家医保局、最高人民法院,印发通知

政知新媒体
2026-07-21 01:03:55
2026-07-22 12:48:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1348文章数 71关注度
往期回顾 全部

科技要闻

怕了?美财长扬言:严查中国AI

头条要闻

乌克兰高层爆发严重内斗 泽连斯基撤换"屠夫"总司令

头条要闻

乌克兰高层爆发严重内斗 泽连斯基撤换"屠夫"总司令

体育要闻

“不会进球”的前锋,在世界杯决赛进球了

娱乐要闻

谢贤离世风波再起!王菲探望细节曝光

财经要闻

被误伤的A股:韧性、预期与底气

汽车要闻

WAIC专访|易启未来余志勇:网易孵化按摩机器人 能识穴会“手法”

态度原创

亲子
艺术
数码
旅游
家居

亲子要闻

科普|如何预防和管理妊娠期高血压

艺术要闻

王力克 2026油画风景写生新作

数码要闻

曝Meta定制版AMD MI450 GPU仅有1/2计算单元和1/3显存

旅游要闻

安徽金寨县天堂寨,白云飘飘林茂山青

家居要闻

2026建博会(广州) 公装联探展交流活动

无障碍浏览 进入关怀版