news 2026/7/1 12:38:40

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
华为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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 9:02:11

PEO10500-b-PMMA18000聚氧乙烯-b-聚甲基丙烯酸甲酯PEO-PMMA

PEO-b-PMMA&#xff08;PEO-PMMA&#xff09;一、基础信息全称&#xff1a;聚环氧乙烷 - b - 聚甲基丙烯酸甲酯英文&#xff1a;Poly (ethylene oxide)-block-poly (methyl methacrylate)简写 PEO-b-PMMA / PMMA-b-PEO最常用为 AB 两嵌段两亲性嵌段共聚物。二、分子结构与链段特…

作者头像 李华
网站建设 2026/7/1 11:29:38

WordPress+WooCommerce大型商城解决方案

WodeStore是一家专注于WordPressWooCommerce商城系统开发与优化的专业服务商&#xff0c;位于中国北京&#xff0c;依托当地优质的技术人才资源&#xff0c;是国内较早从事WordPress商城开发的开发者之一&#xff0c;多年以来深耕wordpress开发。”把WordPressWooCommerce商城做…

作者头像 李华
网站建设 2026/6/29 7:45:51

A.每日一题:1344. 时钟指针的夹角

题目链接&#xff1a;1344. 时钟指针的夹角&#xff08;中等&#xff09; 算法原理&#xff1a; 我们简单找找规律~~ 差值为6:180 差值为9:90 类似的&#xff1a; 差值为11:30 差值为10:60 差值为8:120 度数(12-差值)✖️30 左半边相反&#xff1a;差值✖️30 有的同学就直接写…

作者头像 李华
网站建设 2026/7/1 11:31:00

【2026】超详细中望CAD机械版2026安装保姆级教程,永久免费使用,机械设计环境配置指南,看完这一篇就够了

文章目录前言中望CAD机械版下载中望CAD机械版2026安装教程(超详细)中望CAD机械版2026打不开图纸&#xff1f;报错原因及修复方法前言 搞机械设计的朋友应该都听说过中望CAD机械版&#xff0c;这是中望龙腾旗下很成熟的一款专业CAD机械设计软件&#xff0c;涵盖2D制图、几何对象…

作者头像 李华