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

2026-04-25:反转元音数相同的单词。用go语言,给定一个由小写英文单词组成的字符串,各单词之间用单空格分隔。 先统计第一个单词里出现的元音字母数量(元音为 a/e/i/o/u)。记这个数量为

2026-04-25反转元音数相同的单词。用go语言给定一个由小写英文单词组成的字符串各单词之间用单空格分隔。先统计第一个单词里出现的元音字母数量元音为 a/e/i/o/u。记这个数量为 k。然后从第二个单词开始逐个处理如果某个单词的元音数量也等于 k就把该单词反转字母顺序否则保持该单词不变。最后把所有单词按原有顺序重新用空格拼接输出结果字符串。1 s.length 100000。s 仅由小写的英文字母和空格组成。s 中的单词由 单个空格 隔开。s 不包含前导或尾随空格。输入 s “cat and mice”。输出 “cat dna mice”。解释第一个单词 “cat” 包含 1 个元音字母。“and” 包含 1 个元音字母因此将其反转为 “dna”。“mice” 包含 2 个元音字母因此保持不变。最终结果字符串为 “cat dna mice”。题目来自力扣3775。代码执行过程详细分步描述第一步定义元音统计函数countVowel这是一个辅助函数作用是统计一个字符串中元音字母a/e/i/o/u的总个数遍历字符串里的每一个字符逐个判断字符是否是元音字母每找到一个元音字母计数加1遍历完成后返回最终的元音计数结果。第二步执行核心逻辑函数reverseWords子步骤1拆分字符串为单词数组代码将输入的完整字符串按单个空格切割把连续的字符串拆分成独立的单词列表输入cat and mice切割后得到单词数组[cat, and, mice]子步骤2统计第一个单词的元音数确定k值取出单词数组的第一个单词cat调用元音统计函数计算元音数字符c非元音字符a元音计数1字符t非元音最终第一个单词元音数k 1并把这个值固定下来。子步骤3遍历处理第二个及之后的所有单词从第二个单词开始数组下标为1逐个判断、处理处理第二个单词and调用函数统计元音数a是元音n/d非元音元音数1判断元音数1等于k1满足反转条件执行反转操作将单词and的字母顺序颠倒变成dna用反转后的单词替换原单词数组变为[cat, dna, mice]。处理第三个单词mice调用函数统计元音数i和e是元音元音数2判断元音数2不等于k1不满足反转条件保持原单词不变数组仍为[cat, dna, mice]。子步骤4拼接单词数组为完整字符串将处理后的单词数组按单个空格重新拼接成一个完整字符串拼接结果cat dna mice。第三步主函数输出结果定义输入字符串s cat and mice调用核心处理函数得到结果打印输出最终结果cat dna mice。时间复杂度与额外空间复杂度分析1. 总时间复杂度时间复杂度描述代码执行的总操作次数与输入数据规模的关系字符串拆分、拼接操作次数与字符串总长度n成正比复杂度为O(n)元音统计遍历整个字符串的所有字符一次复杂度为O(n)单词反转仅反转符合条件的单词总操作次数不超过字符串总长度n复杂度为O(n)所有步骤都是线性操作总时间复杂度为 O(n)n 为输入字符串的总长度。2. 总额外空间复杂度额外空间复杂度描述代码执行过程中除了输入和输出外额外占用的内存空间代码需要创建单词数组存储所有单词空间大小与字符串长度n成正比反转单词时需要创建临时字节切片空间大小不超过单词总长度所有临时变量的空间占用均为线性级别总额外空间复杂度为 O(n)n 为输入字符串的总长度。总结执行流程拆分字符串→统计首单词元音数→遍历判断并反转符合条件的单词→拼接字符串→输出结果时间复杂度O(n)处理效率高可满足题目中最长10万字符的输入要求额外空间复杂度O(n)需要线性空间存储单词和临时数据。Go完整代码如下packagemainimport(fmtslicesstrings)funccountVowel(sstring)(vowelint){for_,c:ranges{ifstrings.IndexRune(aeiou,c)0{vowel}}return}funcreverseWords(sstring)string{a:strings.Split(s, )cnt0:countVowel(a[0])fori:1;ilen(a);i{ifcountVowel(a[i])cnt0{t:[]byte(a[i])slices.Reverse(t)a[i]string(t)}}returnstrings.Join(a, )}funcmain(){s:cat and miceresult:reverseWords(s)fmt.Println(result)}Python完整代码如下# -*-coding:utf-8-*-defcount_vowel(s:str)-int:Count vowels in a stringvowel0forcins:ifcinaeiou:vowel1returnvoweldefreverse_words(s:str)-str:Reverse words that have the same vowel count as the first wordwordss.split( )cnt0count_vowel(words[0])foriinrange(1,len(words)):ifcount_vowel(words[i])cnt0:# Reverse the wordwords[i]words[i][::-1]return .join(words)defmain():scat and miceresultreverse_words(s)print(result)if__name____main__:main()C完整代码如下#includeiostream#includestring#includevector#includealgorithm#includesstreamintcountVowel(conststd::strings){intvowel0;std::string vowelsaeiou;for(charc:s){if(vowels.find(c)!std::string::npos){vowel;}}returnvowel;}std::stringreverseWords(conststd::strings){// Split string into wordsstd::vectorstd::stringwords;std::stringstreamss(s);std::string word;while(ssword){words.push_back(word);}if(words.empty()){return;}intcnt0countVowel(words[0]);for(size_t i1;iwords.size();i){if(countVowel(words[i])cnt0){// Reverse the wordstd::reverse(words[i].begin(),words[i].end());}}// Join the words backstd::string result;for(size_t i0;iwords.size();i){if(i0){result ;}resultwords[i];}returnresult;}intmain(){std::string scat and mice;std::string resultreverseWords(s);std::coutresultstd::endl;return0;}

相关文章:

2026-04-25:反转元音数相同的单词。用go语言,给定一个由小写英文单词组成的字符串,各单词之间用单空格分隔。 先统计第一个单词里出现的元音字母数量(元音为 a/e/i/o/u)。记这个数量为

2026-04-25:反转元音数相同的单词。用go语言,给定一个由小写英文单词组成的字符串,各单词之间用单空格分隔。 先统计第一个单词里出现的元音字母数量(元音为 a/e/i/o/u)。记这个数量为 k。 然后从第二个单词开始逐个处…...

别再让Ubuntu自动更新搞乱你的开发环境了!用apt-mark hold锁定关键软件包版本

开发环境守护指南:用apt-mark hold精准锁定Ubuntu关键软件包 凌晨三点,服务器告警铃声刺破夜空——生产环境的Python服务突然崩溃。紧急排查发现,一次常规的apt upgrade将Python 3.8升级到了不兼容的3.9版本,导致依赖库全部失效。…...

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧)

从专利库到Zemax:一个6mm定焦镜头从零到交付的完整设计流程(含CodeV转换技巧) 光学设计工程师的日常工作中,最常遇到的挑战之一就是将理论指标转化为实际可制造的光学系统。本文将以一个6mm定焦镜头为例,完整展示从专利…...

RNN与LSTM:序列预测模型原理与实战指南

1. 序列预测模型入门指南在数据分析领域,序列预测一直是个让人又爱又恨的难题。记得我第一次接触股票价格预测时,那些传统的时间序列分析方法总是差强人意,直到遇见了循环神经网络(RNN)这个"神器"。不同于前馈神经网络,…...

数字孪生与强化学习在汽车主动悬架控制中的应用

1. 数字孪生与强化学习的协同控制框架在汽车工程领域,主动悬架系统一直是提升驾乘舒适性和操控稳定性的关键技术。传统控制方法如PID或LQR虽然成熟,但面对复杂多变的驾驶场景时往往显得力不从心。我们团队开发的这套数字孪生结合强化学习的解决方案&…...

突破性内存级帧率解锁技术:重新定义《原神》高帧率体验的技术哲学与实践

突破性内存级帧率解锁技术:重新定义《原神》高帧率体验的技术哲学与实践 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock 在PC游戏性能优化领域,帧率限制往往成为技…...

安卓逆向:Root权限的深度解析与实战指南

1. Root权限的本质与核心价值 Root权限是Android系统中的超级用户权限,相当于Windows系统中的Administrator或Linux系统中的root账户。我第一次接触这个概念是在2012年调试一台老旧的Nexus设备时,当时为了修改系统字体不得不获取root权限。这种权限之所以…...

如何在 Go 项目中安全、高效地共享数据库连接

本文详解如何在 bootstrap 4.5 中禁用默认的「单开互斥」行为,使多个 navbar 下拉菜单可同时保持展开状态,适用于侧边栏式导航等定制化场景。 本文详解如何在 bootstrap 4.5 中禁用默认的「单开互斥」行为,使多个 navbar 下拉菜单可同时…...

从开发到发布:为你的VS+Qt桌面应用打造完整的国际化工作流(含.ts文件生成、翻译、.qm调用全链路)

从开发到发布:为你的VSQt桌面应用打造完整的国际化工作流 在全球化市场环境下,为桌面应用提供多语言支持已成为产品竞争力的关键要素。对于使用Visual Studio和Qt框架开发的应用程序而言,构建一个从代码编写到最终发布的完整国际化工作流&…...

深度神经网络梯度爆炸问题解析与解决方案

1. 神经网络中的梯度爆炸问题解析梯度爆炸是深度神经网络训练过程中常见的挑战之一。当误差梯度在反向传播过程中不断累积并呈指数级增长时,就会导致网络权重更新幅度过大,使模型变得不稳定甚至完全无法学习。这种现象在深度前馈网络和循环神经网络(RNN)…...

git下载与安装教程

Git下载与安装教程 一、下载Git 访问官网 打开Git官方网站下载:Git - Install (注:官网界面可能更新,核心下载区域位置不变) 选择系统版本 Windows用户:点击"Download for Windows"按钮macOS用…...

工业现场VSCode调试突然断连?独家披露某头部车企已验证的5层容错机制——含自动重连握手协议、调试会话快照回滚、硬件Watchdog协同触发

更多请点击: https://intelliparadigm.com 第一章:工业现场VSCode调试断连问题的根源与挑战 在工业自动化产线中,基于 VSCode Remote-SSH 或 Cortex-Debug 插件对嵌入式 PLC、边缘网关(如树莓派RT-Linux)进行远程调试…...

告别console.log式调试:VSCode AI智能变量推演与上下文回溯技术(仅限VSCode 1.89+私有API)

更多请点击: https://intelliparadigm.com 第一章:告别console.log式调试:VSCode AI智能变量推演与上下文回溯技术(仅限VSCode 1.89私有API) VSCode 1.89 引入了基于 Language Server Protocol 扩展的私有调试增强 AP…...

保姆级教程:用LIBERO和Python一步步调试机器人视觉,从相机画面到关节控制

从像素到动作:LIBERO机器人视觉调试实战指南 当你第一次看到机器人通过摄像头"看"到的世界时,那些二维像素阵列背后隐藏着怎样的三维空间信息?如何让这些抽象的数字转化为精确的机械臂运动?本文将带你像侦探破案一样&am…...

web权限提升与转移学习笔记

参考小迪安全高端No.1环境准备本地搭建demo访问后台admin/123456Tmall-后台权限->Web权限(提升)登录完成后由于java开发的网站利用哥斯拉生成后门来到文件上传功能上传1.jpg改包1.jsp发送这里我一开始用localhost抓不到包。换成本机真实IP立即解决&am…...

暗黑3终极按键助手:5分钟打造你的专属自动化战斗系统

暗黑3终极按键助手:5分钟打造你的专属自动化战斗系统 【免费下载链接】D3keyHelper D3KeyHelper是一个有图形界面,可自定义配置的暗黑3鼠标宏工具。 项目地址: https://gitcode.com/gh_mirrors/d3/D3keyHelper 还在为暗黑3中繁琐的技能连点而手指…...

告别数据抖动!手把手教你配置SGM58200 ADC的50/60Hz工频抗干扰采样(附STM32 I2C代码)

工业级ADC抗干扰实战:SGM58200精准抑制50/60Hz工频噪声的配置指南 在工业测量和传感器信号采集中,工频干扰就像一位不请自来的"噪音制造者"。当你的精密仪器读数出现周期性波动,或是数据采集结果出现难以解释的抖动时,很…...

大语言模型评估指标全解析与应用实践

1. 大语言模型评估指标入门指南 在自然语言处理领域,大语言模型(LLM)的评估一直是个令人头疼的问题。不同于传统机器学习任务有明确的准确率、召回率等指标,LLM的评估需要考虑语言质量、连贯性、事实准确性、创造性等多个维度。我曾在三个不同的LLM项目中…...

如何一键完成Windows和Office智能激活:KMS_VL_ALL_AIO完整指南

如何一键完成Windows和Office智能激活:KMS_VL_ALL_AIO完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO 还在为Windows系统激活烦恼吗?Office软件突然变成只读模式…...

C++26反射元编程架构设计图首次公开(ISO/IEC JTC1 SC22 WG21内部评审版):含3层抽象边界定义与21个编译期约束断言

更多请点击: https://intelliparadigm.com 第一章:C26反射元编程架构设计图概览 C26 正式引入标准化的编译时反射(std::reflect)核心设施,标志着元编程范式从模板元编程(TMP)和 constexpr 编程…...

高隔离度四端口MIMO天线+FSS结构,5G高频段性能再提升!

一句话总结: 本文提出一款适用于5G高频段(28 GHz)的紧凑型四端口MIMO天线,通过加载频率选择表面(FSS),实现高隔离、低相关、高增益(8 dBi)的优异性能。 一、研究背景&…...

HarmonyOS 6学习:旋转动画优化与长截图性能调优——打造丝滑交互体验的深度实践

引言:当技术细节决定用户体验成败在移动应用开发的世界里,有两个看似微小却足以影响用户留存的关键细节:设备旋转时的动画流畅度和长内容截图的性能表现。前者决定了用户操作时的感官体验,后者影响着内容分享的效率与质量。想象这…...

如何5分钟内搭建AI驱动的浏览器自动化测试环境:Playwright MCP完整指南

如何5分钟内搭建AI驱动的浏览器自动化测试环境:Playwright MCP完整指南 【免费下载链接】playwright-mcp Playwright MCP server 项目地址: https://gitcode.com/gh_mirrors/pl/playwright-mcp 在当今的Web开发领域,浏览器自动化测试已成为提升开…...

如何在3分钟内完成Windows系统激活:智能激活脚本完整指南

如何在3分钟内完成Windows系统激活:智能激活脚本完整指南 【免费下载链接】KMS_VL_ALL_AIO Smart Activation Script 项目地址: https://gitcode.com/gh_mirrors/km/KMS_VL_ALL_AIO KMS_VL_ALL_AIO是一款基于微软官方KMS技术的智能激活工具,能够一…...

异步电机负载适配控制与效率优化技术研究

异步电机负载适配控制与效率优化技术研究 摘要 异步电动机作为工业驱动领域的核心设备,其能效水平对工业节能具有重要意义。然而,异步电动机在轻载工况下运行效率显著下降,传统固定参数控制策略难以适应负载波动。本文从异步电机损耗构成机制出发,系统分析铜损、铁损、机…...

如何快速导出微信聊天记录:WeChatMsg微信数据管理完全指南

如何快速导出微信聊天记录:WeChatMsg微信数据管理完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/W…...

leetcode 2452. 距离字典两次编辑以内的单词 中等

给你两个字符串数组 queries 和 dictionary 。数组中所有单词都只包含小写英文字母,且长度都相同。一次 编辑 中,你可以从 queries 中选择一个单词,将任意一个字母修改成任何其他字母。从 queries 中找到所有满足以下条件的字符串&#xff1a…...

从实验室到论文:手把手教你用MP DSS构建小鼠肠炎模型(附详细步骤与DAI评分避坑指南)

从实验室到论文:手把手教你用MP DSS构建小鼠肠炎模型(附详细步骤与DAI评分避坑指南) 在炎症性肠病研究领域,动物模型的构建质量直接影响实验数据的可靠性。作为被8000多篇文献验证的金标准,DSS诱导的小鼠肠炎模型因其与…...

不平衡数据集分类评估:ROC与PR曲线对比分析

1. 不平衡数据集分类评估的困境与挑战在机器学习分类任务中,我们常常会遇到类别分布严重不均衡的数据集。比如在信用卡欺诈检测中,正常交易可能占99.9%,而欺诈交易仅占0.1%;在医疗诊断场景中,健康样本可能远多于患病样…...

深度学习优化算法Adam的核心原理与实践技巧

1. 深度学习优化算法概述在训练深度神经网络时,选择合适的优化算法往往能决定模型最终的收敛速度和性能表现。传统的随机梯度下降(SGD)虽然简单直接,但在面对高维参数空间和非均匀曲率时常常显得力不从心。2014年,King…...