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

华为OD机试2025C卷-相对开音节[100分]( Java _ Python3 _ C++ _ C语言 _ JsNode _ Go)实现100%通过率

📫 个人主页:深夜coding算法
📣 专栏系列:2026年华为最新OD机试题库详解
🔥 一次订阅,永久解锁 | 持续更新100+篇 | 6语言全覆盖


文章目录

    • ❄️前言:
    • ☀️一:题目描述
      • 🌙 题目名称
      • 🌙 题目内容
      • 🌙 输入描述
      • 🌙 输出描述
      • 🌙 示例
    • ☀️二:解题思路
    • ☀️三:代码实现
      • C++
      • Java
      • Python3
      • C语言
      • JavaScript
      • Go
    • ☀️四:复杂度分析
    • ⭐ 五:易错点
      • 坑1:单词长度<4直接跳过
      • 坑2:大小写不敏感?
    • 🌻共勉:

❄️前言:

相对开音节是字符串+正则的经典题。核心是对字符串中每个长度≥4的单词,统计"辅音+元音+辅音+任意"模式的个数。


☀️一:题目描述

🌙 题目名称

相对开音节


🌙 题目内容

给定一个由小写字母和空格组成的字符串。定义:

  • 元音字母:a e i o u
  • 辅音字母:除元音外的字母

如果一个单词包含的子串满足:由一个辅音字母、一个元音字母、一个辅音字母、一个任意字母组成,且该子串从单词中位置开始,中间没有被空格隔开,则称为一个"相对开音节"。

统计整个字符串中所有单词里相对开音节的总个数。


🌙 输入描述

一行字符串,只含小写字母和空格,长度不超过 1000。


🌙 输出描述

输出整数,相对开音节总数。


🌙 示例

输入: cat dog 输出: 0 说明:cat长度<4,无;dog长度<4,无。结果0。
输入: ekam a ekam 输出: 2

☀️二:解题思路

  1. 按空格拆分单词
  2. 对于每个长度≥4的单词,滑动窗口检查长度为4的子串是否匹配"辅音+元音+辅音+任意"
  3. 计数累加

☀️三:代码实现

C++

#include<iostream>#include<string>#include<sstream>usingnamespacestd;boolisVowel(charc){returnc=='a'||c=='e'||c=='i'||c=='o'||c=='u';}intmain(){string line,word;getline(cin,line);stringstreamss(line);intans=0;while(ss>>word){if(word.size()<4)continue;for(inti=0;i<=word.size()-4;i++){if(!isVowel(word[i])&&isVowel(word[i+1])&&!isVowel(word[i+2])&&isVowel(word[i+3])!=isVowel(word[i]))ans++;}}cout<<ans<<endl;}

Java

importjava.util.Scanner;publicclassMain{staticbooleanisVowel(charc){return"aeiou".indexOf(c)!=-1;}publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);String[]words=sc.nextLine().split(" ");intans=0;for(Stringw:words){if(w.length()<4)continue;for(inti=0;i<=w.length()-4;i++){if(!isVowel(w.charAt(i))&&isVowel(w.charAt(i+1))&&!isVowel(w.charAt(i+2)))ans++;}}System.out.println(ans);}}

Python3

vowels=set('aeiou')words=input().strip().split()ans=0forwinwords:iflen(w)<4:continueforiinrange(len(w)-3):ifw[i]notinvowelsandw[i+1]invowelsandw[i+2]notinvowels:ans+=1print(ans)

C语言

#include<stdio.h>#include<string.h>intisVowel(charc){returnc=='a'||c=='e'||c=='i'||c=='o'||c=='u';}intmain(){charline[1024],*word;gets(line);intans=0;word=strtok(line," ");while(word){intlen=strlen(word);for(inti=0;i<=len-4;i++)if(!isVowel(word[i])&&isVowel(word[i+1])&&!isVowel(word[i+2]))ans++;word=strtok(NULL," ");}printf("%d\n",ans);}

JavaScript

constline=require('fs').readFileSync(0,'utf-8').trim();constwords=line.split(/\s+/);constvowels=newSet('aeiou');letans=0;for(constwofwords){if(w.length<4)continue;for(leti=0;i<=w.length-4;i++)if(!vowels.has(w[i])&&vowels.has(w[i+1])&&!vowels.has(w[i+2]))ans++;}console.log(ans);

Go

packagemainimport("bufio";"fmt";"os";"strings")funcisVowel(cbyte)bool{returnstrings.ContainsRune("aeiou",rune(c))}funcmain(){scanner:=bufio.NewScanner(os.Stdin)scanner.Scan()ans:=0for_,w:=rangestrings.Fields(scanner.Text()){iflen(w)<4{continue}fori:=0;i<=len(w)-4;i++{if!isVowel(w[i])&&isVowel(w[i+1])&&!isVowel(w[i+2]){ans++}}}fmt.Println(ans)}

☀️四:复杂度分析

指标数值
时间复杂度O(N)
空间复杂度O(1)

⭐ 五:易错点

坑1:单词长度<4直接跳过

长度不够不可能形成4字符的开音节。

坑2:大小写不敏感?

输入只含小写字母,不需要额外处理(但要确认题目说明)。


🌻共勉:

正则/模式匹配的题,遍历+条件判断就够了,一般用不上真正的正则引擎。


📫关于本专栏:一次订阅,永久解锁全部100+篇真题详解
🔥6语言全覆盖:Java | Python3 | C++ | C语言 | JsNode | Go

http://www.cnnetsun.cn/news/3033926.html

相关文章:

  • 【前端分享】封神级React图片预览组件!7KB超轻量,手势/动画/自定义全拿捏!
  • PEO10500-b-PMMA18000聚氧乙烯-b-聚甲基丙烯酸甲酯PEO-PMMA
  • 探秘大模型训练数据:Claude、ChatGPT 等的数据从何而来?能否实现公平交易?
  • WordPress+WooCommerce大型商城解决方案
  • A.每日一题:1344. 时钟指针的夹角
  • 【2026】超详细中望CAD机械版2026安装保姆级教程,永久免费使用,机械设计环境配置指南,看完这一篇就够了
  • 冯·诺依曼结构和哈佛结构
  • 激光焊接不只是替掉了钎焊——它正在重新定义液冷板能长什么样
  • TensorFlow 学习
  • Linux命令-pwd(打印当前工作目录)
  • 三分钟带你认识有机溶质转运蛋白(OST)家族
  • AI引发存储危机,苹果Mac、iPad涨价,iPhone 18会跟进吗?
  • 服务周到的牙科诊所如何挑选
  • RocketMQ 从0到1
  • 89.7%恶意IP活不过1个月:金融风控如何用日更离线库应对住宅中继攻击?
  • 市级工程实验室申报条件:
  • 早高峰整层职场集体断网:逐包溯源揪出私接路由器引发的广播风暴祸根
  • 宏观-中观-微观关联模型构建与数据融合方案
  • Grok 4.3大模型应该怎么用?2026 实操步骤、应用场景与注意事项
  • 基因组编辑技术如何实现从“精雕细琢“到“大刀阔斧“的跨越?
  • AI 写代码为什么会错?上下文、测试和反馈循环
  • 微软Intelligent Terminal中登录GitHub Copilot
  • Ubuntu24.04.4安装堡垒机JummpServer
  • 国内最好用协会私域管理系统软件口碑排行榜单:从选型困惑到高效落地的实践路径
  • 电脑自主操作 AI 助手 OpenClaw,全可视化落地实操文档(包含安装包)
  • 【AI产品经理】 第四章 安全合规与边界设计
  • 吴恩达《深度学习》之看懂集束搜索
  • VS Code 文件调用路径问题
  • 九九云环境智能精准喷氨系统,把脱硝成本压缩到最优区间
  • bond网络问题(印象笔记归档)