感谢@艾玛·沃特森提供的华为OD机试【按单词下标区间翻转文章内容】【2023 B卷 100分】

news2025/1/15 21:05:22

在这里插入图片描述

目录

    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明
      • 4、再输入
      • 5、处理非法输入,确保通过率100%,千万不要大意失荆州

华为OD机试 2023B卷题库疯狂收录中,刷题点这里

感谢@艾玛·沃特森提供的华为OD机试真题2023Q2 100分“按单词下标区间翻转文章内容”,这估计是年度最简单题目了,已现金红包感谢。

祝大家考试顺序,也能碰到如此送分题,难道和头像有关系?

考试之前,拜一拜,没坏处~

在这里插入图片描述

题目有点草啊,我整理一下。

一、题目描述

给定一段英文文章片段,由若干单词组成,单词间以空格间隔,单词下标从0开始。

请翻转片段中指定区间的单词顺序并返回翻转后的内容。

例如:

给定的英文文章片段为"I am nezha soft",翻转区间为[0,3],

则输出“soft nezha am I”。

二、输入描述

  • 第一行输入英文文章内容即英文字符串;
  • 第二行输入待翻转内容起始单词下标;
  • 第三行输入待翻转内容最后一个单词下标。

三、输出描述

翻转后的英文文章片段所有单词之间以一个半角空格分隔进行输出。

备注:

英文文章内容首尾无空格。

四、解题思路

  1. 第一行输入英文字符串;
  2. 第二行输入起始单词下标;
  3. 第三行输入最后一个单词下标;
  4. 处理非法输入
    • 如果是负数,当做0处理;
    • 如果大于数组最大长度,当做数组最大长度处理;
  5. 定义变量reversalIndex,表示待反转的字符串下角标;
  6. 定义变量flag,表示是否开始反转;
  7. 遍历英文字符串;
    • 判断是否开始反转;
    • 如果开始反转;
      • 输出开始反转的字符串;
      • 反转到最开始的下角标处结束;
    • 如果未开始反转;
    • 输出当前字符;

五、Java算法源码

package com.guor.od;

import java.util.*;

public class OdTest {
    public static void main(String[] args) {
        // 英文字符串
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        String arr[] = input.split(" ");
        // 起始单词下标
        int start = sc.nextInt();
        // 最后一个单词下标
        int end = sc.nextInt();
        // 处理非法输入
        if (end < 0 && start < 0 || start > end) {
            System.out.println(input);
            return;
        }

        // 如果是负数,当做0处理
        if (start < 0) {
            start = 0;
        }

        // 如果大于数组最大长度,当做数组最大长度处理
        if (end > arr.length - 1) {
            end = arr.length - 1;
        }

        // 待反转的字符串下角标
        int reversalIndex = end;
        // 是否开始反转
        boolean reversalStartFlag = false;
        for (int i = 0; i < arr.length; i++) {
            // 开始反转
            if(i == start){
                reversalStartFlag = true;
            }

            // 反转
            if(reversalStartFlag){
                System.out.print(arr[reversalIndex]+" ");
                // 反转到最开始的下角标处结束
                if (reversalIndex == start){
                    reversalStartFlag = false;
                }
                reversalIndex--;
            }else{
                System.out.print(arr[i]+" ");
            }
        }
    }
}

六、效果展示

1、输入

nezha love study java !
1 3

2、输出

nezha java study love !

3、说明

  1. 从下角标1开始反转,反转到下角标3;
  2. 即love处变为java,study依旧是study,java变为love;
  3. 输出nezha java study love ! 。

在这里插入图片描述

4、再输入

nezha love study java !
-2 3

如果有负数,按照题意

如果是负数,当做0处理;
如果大于数组最大长度,当做数组最大长度处理;

在做题时,这些异常情况都要考虑到,才能通过率100%。

在这里插入图片描述

5、处理非法输入,确保通过率100%,千万不要大意失荆州

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【简易内存池】【2023 B卷 200分 考生抽中题】

🏆本文收录于,华为OD机试(JAVA)真题(A卷+B卷)

刷的越多,抽中的概率越大,每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天CSDN在线答疑。

在这里插入图片描述

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

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

相关文章

【CheatSheet】Python、R、Julia数据科学编程极简入门

《Python、R、Julia数据科学编程极简入门》PDF版&#xff0c;是我和小伙伴一起整理的备忘清单&#xff0c;帮助大家10分钟快速入门数据科学编程。 另外&#xff0c;最近 TIOBE 公布了 2023 年 8 月的编程语言排行榜。 Julia 在本月榜单中实现历史性突破&#xff0c;成功跻身 …

C语言学习之一级指针二级指针

一级指针&#xff1a;内存中每个字节都有一个编号&#xff0c;这个编号就是指针&#xff0c;也称作地址&#xff1b;专门用来存储地址的变量&#xff0c;就是指针变量&#xff1b;定义一级指针变量并初始化&#xff1a; 数据类型 *指针变量名 &普通变量名; 数据类型 *指针…

原子css 和 组件化css如何搭配使用

如果让你来实现下面这种页面&#xff0c;该怎么实现呢 原子化和css组件化方式写法&#xff0c;可以搭配起来使用&#xff0c;常用的css 原子css 比如 下面这些类似flex 布局&#xff0c;lstn curser-pointer 等常用的或者 具备一定规律性的padding margin 样式可以抽取为单独…

排序算法————基数排序(RadixSort)

基数排序的概念&#xff1a; 什么是基数排序&#xff1f;&#xff1f;&#xff1f;基数排序是一种和快排、归并、希尔等等不一样的排序...它不需要比较和移动就可以完成整型的排序。它是时间复杂度是O&#xff08;K*N&#xff09;&#xff0c;空间复杂度是O&#xff08;KM&…

【软件测试】UI自动化框架,数据驱动 vs 关键字驱动怎么选

一、UI自动化测试用例剖析 让我们先从分析一端自动化测试案例的代码开始我们的旅程。以下是我之前写的一个自动化测试的小Demo。这个Demo基于Selenium与Java。 自动化测试小Demo 它要测试的东西其实是要看一下百度搜索能不能返回兴业银行的官网。我们分析一下这段代码都包含些…

C++笔记之字节数组的处理

C笔记之字节数组的处理 code review! 文章目录 C笔记之字节数组的处理1.字节数组打印2.将字节数组转换为十六进制字符串并打印3.将字符串转为字节数组4.将字节数组转为字符串5.字节数组和字符数组的区别6.字节数组用于二进制数据存储7.字节数组用于网络通信数据传输8.使用 un…

【字节跳动青训营】后端笔记整理-2 | Go实践记录:猜谜游戏,在线词典,Socks5代理服务器

**本人是第六届字节跳动青训营&#xff08;后端组&#xff09;的成员。本文由博主本人整理自该营的日常学习实践&#xff0c;首发于稀土掘金&#xff1a;&#x1f517;Go实践记录&#xff1a;猜谜游戏&#xff0c;在线词典&#xff0c;Socks5代理服务器 | 青训营 我的go开发环境…

群晖7.X版安装cpolar内网穿透

群晖7.X版安装cpolar内网穿透套件 文章目录 群晖7.X版安装cpolar内网穿透套件前言1. 下载cpolar的群晖系统套件1.1 在“套件中心” 选择“手动安装”1.2 完成套件安装 2. 进入cpolar软件信息页3. 点击“免费注册”轻松获得cpolar账号 前言 随着群晖系统的更新换代&#xff0c;…

第一百二十七天学习记录:我的创作纪念日

机缘 今天收到CSDN官方的来信&#xff0c;想想也可以对我前面的学习记录进行一个总结。 关于来到CSDN的初心&#xff0c;也就是为了让自己养成一个良好的学习总结的习惯。这里要感谢我C语言视频教程的老师&#xff0c;是他建议学生们在技术博客中进行记录。对于技术博客&…

【Plex】FRP内网穿透后 App无法使用问题

能搜索到这个文章的&#xff0c;应该都看过这位同学的分析【Plex】FRP内网穿透后 App无法使用问题_plex frp无效_Fu1co的博客-CSDN博客 这个是必要的过程&#xff0c;但是设置之后仍然app端无法访问&#xff0c;原因是因为网络端口的问题 这个里面的这个公开端口&#xff0c;可…

EVE-NG MPLS L2VPN BGP lsp

导入了新的H3C 镜像&#xff0c;bgp 正常了。 目录 1 拓扑 2 配置步骤 2.1 配置接口IP 和路由协议 2.2 配置MPLS LDP 2.3 配置L2VPN BGP 2.4 配置 xconnect-group 2.5 验证L2VPN 1 拓扑 2 配置步骤 2.1 配置接口IP 和路由协议 PE1 interface LoopBack 0ip address 1…

LNMP环境搭建wordpress以及跳转后台报404解决

基于上文配置好的LNMP环境继续搭建wordpress 目录 一.到官网下载tar.gz包&#xff0c;并上传到Linux上&#xff0c;也可以通过复制链接地址进行下载 二. 将wordpress中的所有文件移动到你nginx.conf中指定目录中 三.为wordpress配置数据库 四.到浏览器进行注册 1.刚开始…

使用QT纯代码创建(查找)对话框详细步骤与代码

一、创建项目文件 打开Qt Creator->文件->新建文件或项目->选择Qt Widgets Application 为项目起名字 输入类的名字 二、 了解每个文件的作用 项目创建完毕之后就会出现以下几个文件&#xff0c;先来分别介绍以下这些文件的作用。 Headers->finddialog.h——很显…

Java:函数式(Functional)接口

文章目录 1 什么是函数式接口2 如何理解函数式接口3 举例Java 内置函数式接口1 之前的函数式接口2 四大核心函数式接口3.4.3 其它接口 内置接口代码演示 5 练习 1 什么是函数式接口 只包含一个抽象方法&#xff08;Single Abstract Method&#xff0c;简称SAM&#xff09;的接…

虚拟机/双系统Ubuntu扩容

虚拟机Ubuntu扩容 1.需要删除所有的快照 2.扩展虚拟机磁盘大小 虚拟机(M)→设置(s)→硬盘(SCSI)→扩展磁盘容量 3.Ubuntu内调整分区大小 安装gparted分区工具&#xff1a;sudo apt-get install gparted 启动gparted并resize分区 4.最后最好建一个快照&#xff0c;不然gg了…

系统架构设计专业技能 · 计算机网络(三)【系统架构设计师】

系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA&#xff08;一&#xff09;【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估&#xff08;二&#xff09;【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…

【FPGA零基础学习之旅#10】按键消抖模块设计与验证(一段式状态机实现)

&#x1f389;欢迎来到FPGA专栏~按键消抖模块设计与验证 ☆* o(≧▽≦)o *☆嗨~我是小夏与酒&#x1f379; ✨博客主页&#xff1a;小夏与酒的博客 &#x1f388;该系列文章专栏&#xff1a;FPGA学习之旅 文章作者技术和水平有限&#xff0c;如果文中出现错误&#xff0c;希望大…

Android应用开发(37)LTPO帧率测试基于Surfaceview(暂存)

Android应用开发学习笔记——目录索引 参考android官网&#xff1a; Frame rate | Android media | Android Developers多重刷新率 | Android 开源项目 | Android Open Source ProjectWindowManager.LayoutParams | Android Developers 目前市面上旗舰手机基本都是…

wangEditor5实现@评论功能

需求描述&#xff1a;在输入框输入后显示用户列表&#xff0c;实现人功能 当前环境&#xff1a;vue3viteelementPluswangEditor5 需要插件&#xff1a;wangeditor/plugin-mention 安装插件&#xff1a;npm i wangeditor/plugin-mention 输入框组件分两部分&#xff1a;1. wa…

【electron】electron安装过慢和打包报错:Unable to load file:

文章目录 一、安装过慢问题:二、打包报错&#xff1a;Unable to load file: 一、安装过慢问题: 一直处于安装过程 【解决】 #修改npm的配置文件 npm config edit#添加配置 electron_mirrorhttps://cdn.npm.taobao.org/dist/electron/二、打包报错&#xff1a;Unable to load…