华为OD机试真题(Java),开元音统计(100%通过+复盘思路)

news2024/12/29 8:43:21

在这里插入图片描述

一、题目描述

相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,常见的单词有bike cake,给定一个字符串,以空格为分隔符。
反转每个单词的字母,若单词中包含如数字等其他非字母时不进行反转,反转后计算其中含有相对开音节结构的子串个数(连续子串中部分字符可以重复)。

二、输入描述

字符串 以空格分割的多个单词,长度<10000 字母只考虑小写。

  1. 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,共计4个字母;
  2. 若单词中包含如数字等其他非字母时不进行反转;
  3. 连续子串中部分字符可以重复;
  4. 字母只考虑小写;

三、输出描述

含有相对开音节结构的子串个数。

四、Java算法源码

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String[] words = scanner.nextLine().split(" ");

    int count = 0;
    for (int i = 0; i < words.length; i++) {
        String word = words[i];
        // 长度小于4的单词不用考虑
        if (word.length() < 4) {
            continue;
        }

        // 只考虑小写字母
        if (!word.matches("[a-z]+")) {
            continue;
        }

        // 如果值包含字母,不含数字和特殊字符,进行翻转
        StringBuilder builder = new StringBuilder();
        for (int j = 0; j < word.length(); j++) {
            builder.append(word.charAt(j));
        }
        word = builder.reverse().toString();

        // 反转后计算其中含有相对开音节结构的子串个数
        // 相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e
        // 连续子串中部分字符可以重复
        String subWord;
        for (int j = 0; j < word.length(); j++) {
            if (j + 4 > word.length()) {
                break;
            }
            subWord = word.substring(j, j + 4);

            // 第1个为辅音,非元音
            if (subWord.substring(0, 1).matches("[aeiou]")) {
                continue;
            }
            // 第2个为元音
            if (!subWord.substring(1, 2).matches("[aeiou]")) {
                continue;
            }
            // 第3个为辅音,r也除外
            if (subWord.substring(2, 3).matches("[aeiour]")) {
                continue;
            }
            // 第4个是e
            if (!subWord.substring(3, 4).matches("[e]")) {
                continue;
            }
            count++;
        }
    }
    System.out.println(count);
}

五、效果展示

  • 输入:ekam a ekac
  • 输出:2

说明:反转后为 make a cake 其中make和cake为相对开音节子串, 返回2。
在这里插入图片描述

  • 输入:!ekam a ekekac
  • 输出:2

说明:

 反转后为 !ekam a cakeke,
 因为!ekam含有非英文字母,所以未反转,
 其中 cake和keke 为相对开音节子串 返回2。

在这里插入图片描述

🏆本文收录于,华为OD机试2023(Java)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/454911.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

苹果手机屏幕上的圆点怎么设置?(开启悬浮按钮)

案例&#xff1a;苹果手机屏幕上的圆点怎么设置&#xff1f; 【求助&#xff01;苹果手机的小圆点怎么调出来&#xff1f;就是悬浮按钮那个。】 如果您是苹果手机的用户&#xff0c;您可能会在手机屏幕上看到一个小圆点&#xff0c;它可以让您方便地进行操作。这个圆点是 Assi…

TortoiseSVN使用-合并深度介绍

文章目录 3.6 合并深度介绍 本人其他相关文章链接 3.6 合并深度介绍 Working copy(工作副本)&#xff1a;即你当前的工作目录&#xff0c;一般默认为这个选项&#xff1b;Recursively(递归)&#xff1a;即你选择的目录的版本库&#xff0c;包括了其下面的子文件&#xff0c;子文…

叶黄素的17种功效与副作用(5点使用禁忌请小心)

叶黄素&#xff08;Lutein&#xff09;及其同分异构体玉米黄质&#xff08;zeaxanthin&#xff09;和内消旋玉米黄质&#xff08;meso-zeaxanthin&#xff09;是一种聚集在人类视网膜中的黄斑色素。 它们不能在哺乳动物体内合成&#xff0c;必须从饮食中获得&#xff0c;然后分…

智能家居工厂模式整体设计框架控制设备测试

通俗理解的步骤就是链表通用模板定义&#xff08;在头文件里定义&#xff09;、链表的创建&#xff08;头插尾插&#xff0c;在.C 文件里&#xff09;、链表的初始化&#xff08;init配置管脚初始电平等&#xff09;、链表内容的读取&#xff08;指令工厂TCP服务端读取客户端发…

【芝士总结】史上最详循环结构讲解(蒟蒻也能学会)

虽然计算机可以在短时间批量处理成千上万条指令&#xff0c;但是不少问题中有许多规律性的重复操作&#xff0c;比如说计算几百个学生的平均分&#xff0c;或者对上万人的名单进行排序。仅使用顺序或者分支结构&#xff0c;对每一步操作都写出对应的语句是不可能的&#xff1b;…

如何用链表实现LRU缓存淘汰算法

链表学习 一、 缓存1.1缓存介绍1.2 缓存策略 二、链表结构2.1 单链表2.2 循环链表2.3 双向链表2.4 双向循环链表2.5 链表与数组性能对比 三、如何基于链表实现LRU缓存淘汰算法 一、 缓存 1.1缓存介绍 缓存是一种提高数据读取性能的技术&#xff0c;在硬件设计、软件开发中都有…

参数与非参数检验:理解差异并正确使用

数据科学是一个快速发展的领域&#xff0c;它在很大程度上依赖于统计技术来分析和理解复杂的数据集。这个过程的一个关键部分是假设检验&#xff0c;它有助于确定从样本中获得的结果是否可以推广到总体。 在这篇文章中&#xff0c;我们将探讨参数与非参数检验之间的区别&#…

微信小程序对接在线客服系统,对接小程序订阅消息模板,小程序订阅方法以及后端发送订阅模板消息的方法...

微信小程序想要对接独立在线客服系统&#xff0c;除了使用小程序消息推送接口外&#xff0c;还可以使用webview嵌入的形式嵌入聊天链接。 但是&#xff0c;使用webview嵌入的形式&#xff0c;当用户离开页面以后&#xff0c;就收不到客服回复的消息了 所以&#xff0c;我们需要…

HTML5 <s> 标签、HTML5 <sub> 和 <sup> 标签

HTML5 <s> 标签 定义和用法 <s> 标签定义加删除线的文本。HTML 5 中不再支持这个标签。请使用 CSS 代替。 HTML 4.01 与 HTML 5 之间的差异 在 HTML 4.01 中不赞成使用 <s> 标签。 在 HTML 5 中不支持 <s> 标签。 提示和注释 提示&#xff1a;请…

Oracle Linux 9 上基于 Docker 安装 Kubernetes 1.27 集群

Oracle Linux 9 上基于 Docker 安装 Kubernetes 1.27 集群 1. 禁用swap2. 禁用防火墙3. 将SELinux设置为permissive模式4. 添加网桥过滤及内核转发配置文件5. 加载 overlay、br_netfilter、ip_tables、iptable_filter 模块6. 安装 docker-ce7. 安装kubelet kubeadm kubectl8. 初…

【Java面试八股文】JVM篇

引言&#xff1a; 本文对多个平台的面试题进行了汇总、分类、概括、整理&#xff0c;对重点进行了标出&#xff0c;更便于阅读和记忆。 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线牛客面试题 目录 说说你了解的JVM内存模…

UE5实现建筑剖切效果

文章目录 1.实现目标2.实现过程2.1 材质参数集2.2 材质遮罩函数2.3 更新Box3.参考资料1.实现目标 基于BoxMask材质节点,在UE5中实现建筑物的剖切效果,GIF动图如下: 2.实现过程 实现原理与之前“BoxMask实现建筑生长效果”的原理相同,都是基于BoxMask材质节点实现。 具体实…

二分查找<万字详解>

目录 问题引入 二分查找的思路 二分查找的实现 左闭右闭写法 左闭右开写法 两种写法的对比 例题强化 常规的二分查找题目 猜数字大小 搜索插入位置 常规二分的变形题目 搜索二维矩阵 搜索二维矩阵 II 查找特定位置/特定数 在排序数组中查找元素的第一个和最后一…

DIN11系列 大电流输出信号隔离模块线性驱动器0~100mA/0~500mA/0~2A/0-4A

主要特性 精度、线性度误差等级&#xff1a; 0.1、0.2、0.5 级4-20mA/0-5V/0-10V 等标准信号输入0~100mA/0~500mA/0~1A/0-5A 等电流信号输出0~1V(max 5A)/0~10V/0-24V(max 5A) 等电压信号输出信号输入/信号输出 3000VDC 隔离辅助电源&#xff1a;12V、15V 或 24V 直流单电源供…

IJKPLAYER源码分析-音视频同步

前言 本文来介绍下IJKPLAYER的音视频同步策略及方法。IJKPLAYER所支持的同步策略&#xff0c;源自FFPLAY&#xff0c;因此有以下3种&#xff1a; 音视同步视频&#xff1a;这是缺省的同步策略&#xff0c;以audio为主时钟-参考时钟&#xff0c;采取video同步audio的方式&#x…

电子模块|外控集成 LED 光源 WS2812模块---硬件介绍和stm32驱动

电子模块|外控集成 LED 光源 WS2812模块 模块简介模块特点机械尺寸单线归零码通讯方式24bit 数据结构 stm32 驱动 模块简介 WS2812是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同&#xff0c;每个元件即为一个像素点。像素点内部包含了智能…

【小样本分割 2020 ICCV】PANet

文章目录 【小样本分割 2020 ICCV】PANet1. 简介2. 网络2.1 整体架构2.2 原型学习2.3 非参数度量学习2.4 原型对齐正则化 3. 代码3.1 backbone3.2 模型代码 【小样本分割 2020 ICCV】PANet 论文题目&#xff1a;PANet: Few-Shot Image Semantic Segmentation with Prototype Al…

IDEA下SpringBoot指定配置文件启动项目

目录 一. idea下的SpringBoot启动&#xff1a;指定配置文件 二. 项目已打包&#xff0c;运行配置 1&#xff09;.使用java -jar启动基于(一)下的配置文件启动 2&#xff09;指定项目内其它配置文件application-pro.yml启动项目 3&#xff09; Linux服务器上启动基于(三)的…

OneFlow源码解析:Eager模式下Tensor的存储管理

作者&#xff5c;郑建华 1 不同Tensor类型的存储管理方式 Lazy Tensor 的存储是由 Runtime 和 Actor 等对象管理的。静态图完成编译后&#xff0c;需要多少个对象、多少存储空间都是确定的&#xff0c;Runtime 等在初始化时会分配存储&#xff0c;在退出时回收资源。 Eager 模…

SpringBoot--图片验证码kaptcha

本文介绍如何在SpringBoot中整合kaptcha&#xff0c;以及如何配置kaptcha&#xff0c;生成验证码和校验等 文章目录 前言环境搭建项目结构添加依赖 代码实现KaptchaConfigKnife4jConfigdomainServiceutilcontroller 测试生成验证码校验验证码 前言 参考链接&#xff1a; Gith…