华为OD机试真题 Java 实现【相对开音节】【2022Q4 100分】,附详细解题思路

news2024/11/16 15:35:40

在这里插入图片描述

一、题目描述

相对开音节构成的结构为辅音+元音(aeiou)+辅音(r除外)+e,常见的单词有life,time,woke,coke,joke,note,nose,communicate,use,gate,same,late等。

给定一个字符串,以空格为分隔符,反转每个单词中的字母,若单词中包含如数字等其他非字母时不进行反转。

反转后计算其中含有相对开音节结构的子串个数(连续的子串中部分字符可以重复)。

二、输入描述

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

三、输出描述

含有相对开音节结构的子串个数,注:个数<10000

四、解题思路

  1. 定义一个列表aeiouList,存储元音字母(a, e, i, o, u);
  2. 从输入中读取字符串,并按空格分割为多个单词,存储在input数组中;
  3. 初始化total为0,表示含有相对开音节结构的子串个数;
  4. 遍历input数组中的每个单词content;
  5. 对于每个单词,首先判断是否只包含字母,如果不是,则跳过该单词;
  6. 如果单词只包含字母,则调用checkKai方法计算该单词中含有相对开音节结构的子串个数,并累加到total中;
  7. 输出total作为结果。

五、Java算法源码

private static final List<Character> aeiouList = new ArrayList<>();

static {
    char[] f1 = {'a', 'e', 'i', 'o', 'u'};
    for (char c : f1) {
        aeiouList.add(c);
    }
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String[] input = sc.nextLine().split(" ");
    int total = 0;
    for (String content : input) {
        boolean flag = true;
        for (int j = 0; j < content.length(); j++) {
            if (content.charAt(j) < 'a' || content.charAt(j) > 'z') {
                flag = false;
                break;
            }
        }
        if (flag) {
            total += checkKai(content);
        }
    }
    System.out.println(total);
}

private static int checkKai(String str) {
    StringBuilder strTemp = new StringBuilder();
    for (int i = str.length() - 1; i >= 0; i--) {
        strTemp.append(str.charAt(i));
    }

    int left = 0;
    int right = 0;
    int total = 0;
    String tem = "";
    while (right <= str.length()) {
        tem = strTemp.substring(left, right);
        if (tem.length() < 4) {
            right++;
            continue;
        }
        if (check(tem)) {
            total++;
        }
        left++;
        right++;

    }
    return total;
}

private static boolean check(String str) {
    if (!aeiouList.contains(str.charAt(0)) && 'e' == str.charAt(str.length() - 1)) {
        int temYuan = 0;
        for (int i = 1; i < str.length() - 1; i++) {
            if (aeiouList.contains(str.charAt(i))) {
                temYuan = i;
            }
            if (temYuan != 0 && !aeiouList.contains(str.charAt(i)) && str.charAt(i) != 'r' && i > temYuan) {
                return true;
            }
        }
    }
    return false;
}

六、效果展示

1、efil emit ekow反转之后是life,time,woke,都是相对开音节子串,因此返回结果3。

在这里插入图片描述

2、efil emit 5ekow反转之后是life,time,5ekow,因5ekow含非英文字符所以未反转,因此返回结果2。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

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

在这里插入图片描述

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

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

相关文章

【Python接口自动化】--深入了解HTTP接口基本组成和网页构建原理

目录 引言 1、HTTP简介 2、HTTP原理和网页基础 2.1、 HTTP基本原理 2.2、 HTTP请求过程 2.3、 网页构成 引言 Python接口自动化有着广泛的应用场景&#xff0c;但是在实际使用过程中&#xff0c;可能会出现一些问题。比如&#xff0c;你不知道HTTP接口的基本构成&#xff0…

【Python编程从入门到实践第一版】P2 字符串入门

字符串入门 字符串的表示方法字符串基本函数.title().upper().lower()合并字符串删除空白 字符串&#xff0c;是一种常用的数据类别&#xff0c;而其值&#xff0c;可以顾名思义&#xff0c;是由字符组成的一串&#xff0c;故称为字符串&#xff1b; 字符串的表示方法 单引号、…

Andriod开发 SimpleAdapter BaseAdapter

1.SimpleAdapter 上一篇博客介绍的ArrayAdapter只能接受数组作为数据源&#xff0c;一般用于显示一行文字&#xff0c;更复杂的内容的显示可以用SimpleAdapter来实现。 SimpleAdapter接受List<Map<String, Object>>作为数据源&#xff0c;每个Map对应一个item&am…

为什么Pitch+Deck是创业者必备技能

投资术语简介&#xff1a;Pitch vs Deck vs BP BP以PPT形式出现的阅读式商业计划书&#xff0c;旨在无人讲解的前提下&#xff0c;通过文字和图表阐述项目商业信息。Deck单纯为营销演讲或融资推介所准备&#xff0c;以极少量文字图标和图像的介绍来辅助演讲的幻灯片。Pitch创业…

Spring Security 6.x 系列【52】扩展篇之集成第三方登录组件JustAuth

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列Spring Security 版本 6.1.0 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 文章目录 1. 简介2. 入门案例3. 流程分析3.1 申请授权3.2 登录4. Spring Security 整…

MySQL 避「坑」指南 —— 你能设置出正确的主键吗?

前言 主键&#xff0c;可以唯一标识表中的某一行&#xff08;记录&#xff09;。合理地设置主键&#xff0c;可以帮助我们准确、快速地找到所需要的数据记录。但是设置出正确的主键似乎并没有那么简单&#xff0c;请思考如下几个问题&#xff1a; 表中的业务字段可以用来做主…

Java-Servlet解析

文章目录 前言Servlet定义内部解析总结servlet接口实际应用的servletGenericServlet类和HttpServlet类 HttpServlet中的设计模式首先看一下模板方法的定义逐步解析 SpringMVC应用 前言 从事Javaweb项目开发有一段时间了&#xff0c;一直不理解它是怎么一回事&#xff0c;后来查…

Fiddler抓包工具之高级工具栏中的Inspectors的使用

高级工具栏中的Inspectors的使用 Inspectors 页签允许你用多种不同格式查看每个请求和响应的内容。JPG 格式使用 ImageView 就可以看到图片&#xff0c;HTML/JS/CSS 使用 TextView 可以看到响应的内容。Raw标签可以查看原始的符合http标准的请求和响应头。Cookies标签可以看到…

【Web服务应用】搭建LNMP架构

搭建LNMP架构 一、编译安装MySQL服务二、安装Nginx服务三、安装配置PHP解析环境四、部署Discuz社区论坛Web应用五、部署博客论坛应用六fpm进程优化 一、编译安装MySQL服务 1.安装MySQL环境依赖包 yum -y install gcc gcc-c ncurses ncurses-devel bison cmake2、创建运行用户 u…

NIMA: Neural Image Assessment

摘要:基于自动学习的图像质量评估技术在评价图像采集管道、存储技术和共享媒体等方面具有广泛的应用价值&#xff0c;近年来已成为图像质量评估研究的热点。尽管这一问题具有主观性&#xff0c;但现有的大多数方法仅对AVA[1]和TID2013[2]等数据集提供的平均意见得分进行预测。我…

电脑怎么录屏?推荐2个好用的win7录屏方法!

案例&#xff1a;win7电脑怎么录屏&#xff1f; 【我的电脑是win7系统&#xff0c;我想录制它的电脑屏幕。有没有小伙伴知道win7电脑怎么录屏&#xff1f;有没有适合win7电脑的录屏工具】 随着数字时代的发展&#xff0c;屏幕录制已经成为一种常见的需求。在教育、演示、游戏…

❤️爆肝熬夜开发了一个基于SSM的办公用品领用系统,现在开源给你!毕设面试学习都不愁了!❤️

大家好&#xff0c;我是兔哥&#xff0c;我又来分享项目啦。 1.写在前面 之前有个粉丝找到我&#xff0c;问有没有什么真正手把手的教SSM框架的视频&#xff0c;说网上找到的大都很复杂或者资料不全。 我说不需要整这么麻烦&#xff0c;我自己给你录一套手把手的教程吧。 ❤…

11.发请求

微信小程序可以请求 HTTPS 类型的接口&#xff08;HTTP不行&#xff09;&#xff0c;请求之前必须将 接口的域名 添加到 信任列表 中 小程序中没有跨域问题&#xff0c;且使用JS原生XML对象发Ajax请求是无效的 目录 1 查看信任的域名 2 添加信任的域名 3 发起GET请求 …

为什么“零信任“对于数据备份和灾难恢复至关重要

零信任模型作为一种突破性的数据备份和安全方法已经崭露头角。近年来&#xff0c;随着网络攻击的蔓延&#xff0c;传统的安全措施已不再足够。据预测&#xff0c;仅在2023年&#xff0c;全球企业因网络犯罪将损失超过8万亿美元。这一惊人的数字凸显了企业迫切需要采取更全面的数…

【方法】如何以“副本方式”打开PPT文件?

在工作中&#xff0c;我们经常需要对PPT文件进行多次修改后才能确定最终版本。 在修改时&#xff0c;如果不想修改原始的PPT文件&#xff0c;我们可以通过“以副本方式”打开PPT&#xff0c;这样PPT就会在原文档所在的文件夹里自动新建一份完全相同的PPT。 创建后对副本的编辑…

Prototypical networks for few-shot learning.

这篇论文是介绍《Prototypical Networks for Few-shot Learning》。作者公布了他的Pytorh代码。如果看不太懂原作者的代码话可以看一下这一个&#xff1a;https://github.com/orobix/Prototypical-Networks-for-Few-shot-Learning-PyTorch 0. Few-shot learning Few-shot lear…

一文通吃:从 ZooKeeper 一致性,Leader选举讲到 ZAB 协议与 PAXOS 算法(下)

本文首发自\[慕课网] &#xff0c;想了解更多IT干货内容&#xff0c;程序员圈内热闻&#xff0c;欢迎关注"慕课网"及“慕课网公众号”&#xff01; 作者&#xff1a;大能 | 慕课网讲师 上篇文章&#xff0c;我们介绍了ZooKeeper集群保证数据一致性和Zookeeper集群Le…

带你全面了解 OAuth2.0

最开始接触 OAuth2.0 的时候&#xff0c;经常将它和 SSO单点登录搞混。后来因为工作需要&#xff0c;在项目中实现了一套SSO&#xff0c;通过对SSO的逐渐了解&#xff0c;也把它和OAuth2.0区分开了。所以当时自己也整理了一篇文章《SSO单点登录原理及实现方式》 最近需要经常和…

STM32单片机GPS北斗无线防丢定位超出距离报警系统NRF24L01

实践制作DIY- GC0136-GPS北斗无线防丢定位超出距离报警系统 基于STM32单片机设计-GPS北斗无线防丢定位超出距离报警系统 二、功能介绍&#xff1a; 主机&#xff1a;STM32F103CxT6系列最小系统板OLED显示器NRF24L01无线通讯模块GPS北斗双模定位模块蜂鸣器距离加减2个按键1个模…

爬虫的操作

目录 爬虫基本 re/etree/beautifulsoup保存本地/连接数据库 基本 re lxml/etree beautifulsoup 保存到本地 传入数据库 大致分为 爬虫基本 re/etree/beautifulsoup保存本地/连接数据库 基本 爬一个很简单的百度新闻热搜 爬排名 热搜名 和热搜指数 百度热搜 我们直…