当前位置: 首页 > news >正文

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

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用于统计元音字母的数量初始值为 0c用于统计辅音字母的数量初始值为 0。第二步遍历字符串的每一个字符函数通过循环逐个取出字符串s中的每一个字符对每个字符依次做判断和处理。第三步过滤非字母字符对当前遍历到的字符先判断是否为英文字母如果字符是空格、数字非字母直接跳过当前字符不进行任何统计继续遍历下一个字符如果字符是英文字母则进入下一步的元音/辅音判断。第四步区分元音字母和辅音字母针对筛选出的英文字母进一步判断是否为元音字母a、e、i、o、u如果字符是元音字母将元音计数器v的值加 1如果字符不是元音字母即辅音字母将辅音计数器c的值加 1。第五步遍历结束统计完成当字符串中所有字符都遍历完成后v和c就分别存储了当前字符串中元音字母的总数量和辅音字母的总数量。以输入s cooear为例遍历后统计元音v 4o、o、e、a辅音c 2c、r。第六步按照规则计算最终得分根据题目规则判断并计算得分首先检查辅音数量c是否大于 0如果c 0计算v 除以 c的结果并向下取整整数除法自动向下取整将该值作为函数返回值如果c 0直接返回 0 作为得分。示例中c20计算4/22返回结果 2。第七步主函数调用与输出结果程序的主函数main中定义输入字符串s cooear调用核心函数vowelConsonantScore传入字符串获取计算结果通过打印语句输出最终结果 2。时间复杂度与额外空间复杂度分析1. 总时间复杂度时间复杂度取决于字符串的遍历操作程序只对输入字符串进行了一次从头到尾的遍历遍历次数等于字符串的长度n遍历过程中的每一步操作判断是否为字母、判断是否为元音都是常数时间 O(1)的操作没有嵌套循环、递归等耗时操作。因此总时间复杂度为 O(n)n 为输入字符串的长度。2. 总额外空间复杂度额外空间复杂度指除了输入数据本身外程序运行时额外开辟的内存空间程序仅定义了几个固定的变量v、c、循环字符变量这些变量的内存占用是固定常数不随输入字符串长度变化没有使用切片、map、数组等会随输入规模增长的动态数据结构仅用到了固定字符串aeiou属于常量空间。因此总额外空间复杂度为 O(1)常数级空间。总结执行过程初始化计数→遍历字符→过滤非字母→统计元音/辅音→按规则计算得分→输出结果时间复杂度O(n)n 为字符串长度额外空间复杂度O(1)常数空间。Go完整代码如下packagemainimport(fmtstringsunicode)funcvowelConsonantScore(sstring)int{v,c:0,0for_,ch:ranges{if!unicode.IsLetter(ch){continue}ifstrings.ContainsRune(aeiou,ch){v}else{c}}ifc0{returnv/c}return0}funcmain(){s:cooearresult:vowelConsonantScore(s)fmt.Println(result)}Python完整代码如下# -*-coding:utf-8-*-importstringdefvowel_consonant_score(s:str)-int:v0c0vowelsset(aeiou)forchins:ifnotch.isalpha():continueifchinvowels:v1else:c1ifc0:returnv//c# 使用整数除法与 Go 的 int 除法行为一致return0defmain():scooearresultvowel_consonant_score(s)print(result)if__name____main__:main()C完整代码如下#includeiostream#includestring#includecctypeintvowelConsonantScore(conststd::strings){intv0,c0;for(charch:s){if(!std::isalpha(static_castunsignedchar(ch))){continue;}charlowerChstd::tolower(static_castunsignedchar(ch));if(lowerCha||lowerChe||lowerChi||lowerCho||lowerChu){v;}else{c;}}if(c0){returnv/c;}return0;}intmain(){std::string scooear;intresultvowelConsonantScore(s);std::coutresultstd::endl;return0;}
http://www.zskr.cn/news/1354320.html

相关文章:

  • 树莓派Zero轻量级数字孪生:Unity实现嵌入式机器人3D可视化控制
  • HTTPS抓包卡在证书信任?深度解析Charles根证书原理与实战续期
  • AgiPIX:开源无人机自主巡检系统的硬件与软件架构解析
  • GPT-4稀疏激活真相:2%参数背后的MoE工程代价
  • Windows下JMeter压测端口耗尽问题根因与四层调优
  • 秒杀压测全流程实战:从JMeter脚本到系统优化
  • Android开发者必备的Frida逆向调试基础
  • RimWorld终极MOD管理器:RimSort如何3分钟内解决加载顺序混乱
  • 分期乐京东e卡能回收吗?详解步骤和注意事项 - 团团收购物卡回收
  • 3分钟学会专业歌词同步:告别手动打轴,让音乐与文字完美契合
  • 智慧树刷课插件:终极自动化学习助手,3分钟告别手动刷课烦恼
  • Windows任务栏图标居中改造:TaskbarX完全配置手册
  • 终极指南:如何用DriverStore Explorer彻底清理Windows驱动存储
  • 多模态大模型落地实战:对齐、融合与生成的工程化拆解
  • CANN-昇腾NPU精度对比-昇腾NPU和NVIDIA-GPU推理结果差多少
  • AI自动剪辑到底能不能扛起日更口播?2026年5款工具实测对比
  • Burp Suite入门实战:从HTTP协议到Web渗透测试全流程
  • AGENTS半自主智能体架构:状态驱动的可追溯可恢复Agent系统
  • RedAmon:面向红队工程化的渗透测试流程编排平台
  • 传统机器学习为何在实时欺诈检测中失效?动态免疫系统破局之道
  • 武汉闲置名包变现渠道测评:正规机构鉴定结算方式详解 - 奢侈品回收测评
  • Godot PCK解包原理与实战:从加密、混淆到资源还原
  • NHSE深度探索:动物森友会存档编辑器的全面解析与创新应用
  • 华硕笔记本性能优化终极指南:G-Helper轻量控制工具完整解析
  • 广州港出口海运公司实力排行 合规与区域优势双维度 - 奔跑123
  • 2026年杭州GEO优化公司权威评测:源头服务商选型与避坑实战指南 - 品牌报告
  • UE5.6中Stencil Value实现多物体像素级分层遮罩
  • 技术架构深度解析:基于MCP协议的Excel自动化服务器设计
  • 视频硬字幕提取革命:87种语言本地OCR识别,让字幕提取从未如此简单
  • SQLines 数据库迁移工具深度解析:跨平台SQL转换的技术实现与最佳实践