华为OD机试 - 按索引范围翻转文章片段 - 字符串(Java 2022 Q4 100分)

news2024/11/15 11:19:34

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、Java算法源码
    • 六、效果展示
      • 1、输入
      • 2、输出
      • 3、说明

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

专栏导读

本专栏收录于《华为OD机试(JAVA)真题(A卷+B卷)》。

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

一、题目描述

输入一个英文文章片段,翻转指定区间的单词顺序,标点符号和普通字母一样处理。

例如输入字符串”I am a developer. “,区间[0,3],则输出”developer. a am I”。

二、输入描述

使用换行隔开三个参数
第一个参数为英文文章内容即英文字符串
第二个参数为翻转起始单词下标(下标从0开始)
第三个参数为结束单词下标

三、输出描述

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

四、解题思路

此题属于送分题,大家好好把握。

关键点就是从开始下角标到结束下角标,进行字符串的替换。

开始反转了 and 反转次数 <= 起始差值,则进行字符串反转。

五、Java算法源码

package com.guor.od;

import java.util.*;

public class OdTest03 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        // 开始下标
        int startIndex = Integer.valueOf(sc.nextLine());
        // 结束下标
        int endIndex = Integer.valueOf(sc.nextLine());
        String[] arr = input.split(" ");

        // Nezha loves learning Java A B C	1 4  -- Nezha A Java learning loves B C
        StringBuilder reverseBuilder = new StringBuilder();
        boolean reverseFlag = false;
        // 起始差值
        int diff = endIndex - startIndex;
        // 反转次数
        int times = 0;
        for (int i = 0; i < arr.length; i++) {
            // 开始反转了
            if (startIndex == i) {
                reverseFlag = true;
            }

            // 开始反转了 and 反转次数 <= 起始差值,则进行字符串反转
            if (reverseFlag && times <= diff) {
                reverseBuilder.append(arr[endIndex - times]).append(" ");
                times++;
                continue;
            }
            reverseBuilder.append(arr[i]).append(" ");
        }
        System.out.println(reverseBuilder);
    }
}

六、效果展示

1、输入

Nezha loves learning Java A B C
1
4

2、输出

Nezha A Java learning loves B C

3、说明

  • 下角标为1的字符串是loves,和下角标为4的A交换;
  • 下角标为2的字符串 learning 和下角标为3的Java交换;
  • 输出结果Nezha A Java learning loves B C

在这里插入图片描述

在这里插入图片描述


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

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

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

在这里插入图片描述

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

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

相关文章

下载的文件被Windows 11 安全中心自动删除

今天从CSDN上下载了自己曾经上传的文件&#xff0c;但是浏览器下载完之后文件被Windows安全中心自动删除&#xff0c;说是带病毒。实际是没有病毒的&#xff0c;再说了即便有病毒也不应该直接删除啊&#xff0c;至少给用户一个保留或删除的选项。 研究了一番&#xff0c;可以暂…

【ArcGIS微课1000例】0072:如何生成空间权重矩阵

严重声明:本文来自专栏《ArcGIS微课1000例:从点滴到精通》,为CSDN博客专家刘一哥GIS原创,原文及专栏地址为:(https://blog.csdn.net/lucky51222/category_11121281.html),谢绝转载或爬取!!! 文章目录 一、空间权重矩阵工具介绍二、ArcGIS生成空间权重矩阵三、注意事项…

虚拟机软件的优点是什么?缺点又是什么?

虚拟机软件想必对于使用MacBook的小伙伴来说并不陌生&#xff0c;安装上虚拟机后我们就能够模拟Windows的环境从而下载一些Mac不支持的软件。尽管Mac的操作系统用起来流畅快捷&#xff0c;但是在日常使用过程中还是会存在一些不便之处。 很多用户非常依赖使用虚拟机软件&#…

一种IDEA疑难杂症的解决办法

解决办法 重启IDEA 针对于IDEA各种解析&#xff0c;运行时问题&#xff0c;但是无法通过搜索引擎得到答案的问题请试试此方法。 删除根目录下[.idea]文件夹后重启 此文件夹为idea首次导入项目时根据项目情况自动生成的配置文件。方便idea下次更快的解析项目。但是某些情况&a…

java.lang.NullPointerException问题

nullpointerexception可能是哪个地方没加注解 例如Service注解没有加

微信小程序报错: SyntaxError: Cannot use import statement outside a module

微信小程序数据绑定&#xff0c;导包出现了: “SyntaxError: Cannot use import statement outside a module” 排查问题步骤记录&#xff0c;共勉 1.出现问题代码&#xff1a; import {createStoreBindings} from "mobx-miniprogram-bindings"import {store} from …

1. 学习 K8S: Docker 基础

学习 K8S: Docker 基础 1. Docker 的诞生 1.1 首次展示 2013 年 3 月 15 日&#xff0c;在北美的圣克拉拉市召开了一场 Python 开发者社区的主题会议 PyCon&#xff0c;研究和探讨各种 Python 开发技术和应用&#xff0c; 在当天的会议日程快结束时&#xff0c;有一位名为 S…

优化器调整策略

损失函数的作用是衡量模型输出与真实标签的差异。当我们有了这个loss之后&#xff0c;我们就可以通过反向传播机制得到参数的梯度&#xff0c;那么我们如何利用这个梯度进行更新参数使得模型的loss逐渐的降低呢&#xff1f; 优化器的作用 Pytorch的优化器&#xff1a; 管理并…

校对的力量:当专业遇上细节,文字焕发新生

在这个信息爆炸的时代&#xff0c;文字成为了我们传达思想、展现形象的重要工具。从新闻稿、政府材料到商业文档&#xff0c;其背后的准确性和专业性往往决定了信息传递的效果。而保证这一切的&#xff0c;就是细致入微的校对工作。 1.错别字与校对&#xff1a;细节之美 错别字…

单机MySQL的演进

2、单机MySQL的演进 我们当前处于大数据时代&#xff0c;大数据一般的数据库无法进行分析处理了&#xff01;2006年发布了Hadoop 1、单机MySQL的年代 某知名购物网站最开始就是到国外购买的PHP网站&#xff0c;拿过来就能直接使用&#xff0c;到后来也改成了Java。早期网站的数…

【Flutter】Flutter 使用 just_audio 播放音频

【Flutter】Flutter 使用 just_audio 播放音频 文章目录 一、前言二、环境与版本信息三、安装和基本使用四、深入 just_audio五、实际业务中的用法六、完整示例七、总结 一、前言 今天&#xff0c;我要为你介绍一个非常实用的 Flutter 音频处理包——just_audio。这个包不仅功…

IDEA软件安装包分享

目录 一、软件简介 二、软件下载 一、软件简介 IntelliJ IDEA是一款流行的Java集成开发环境&#xff08;IDE&#xff09;&#xff0c;由捷克软件开发公司JetBrains开发。它专为Java开发人员设计&#xff0c;提供了许多高级功能和工具&#xff0c;使得开发人员能够更高效地编写…

《深入理解Java虚拟机》读书笔记:运行时栈帧结构

代码编译的结果从本地机器码转变为字节码&#xff0c;是存储格式发展的一小步&#xff0c;却是编程语言发展的一大步。 一、概述 在Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型&#xff0c;这个概念模型成为各种虚拟机执行引擎的统一外观&#xff08;Facade&#x…

FrameWork之旅 -- Android_input浅析

最近工作超级忙&#xff0c;周末了&#xff0c;看了下博客&#xff0c;今年居然没有更新过博客&#xff0c;看来还是搬砖太忙了。通过3个小时的代码梳理后&#xff0c;下图是个人对input的简单分析&#xff0c;后面如果有精力&#xff0c;会有更新。

AcWing算法提高课-5.5.1可见的点

宣传一下 算法提高课整理 CSDN个人主页&#xff1a;更好的阅读体验 原题链接 题目描述 在一个平面直角坐标系的第一象限内&#xff0c;如果一个点 ( x , y ) (x,y) (x,y) 与原点 ( 0 , 0 ) (0,0) (0,0) 的连线中没有通过其他任何点&#xff0c;则称该点在原点处是可见的。…

第一个react应用程序并添加样式

编写第一个react应用程序 将目录下的文件、src文件夹、public文件夹清空&#xff0c;项目根目录下新建一个文件index.js 在文件中写入以下代码 import React from react import ReactDOM from react-dom ReactDOM.render(<h1>欢迎进入React的世界</h1>,document.…

【LeetCode-中等题】54. 螺旋矩阵

文章目录 题目方法一&#xff1a;按层模拟 题目 方法一&#xff1a;按层模拟 思路就是定义四个指针边界&#xff0c;按顺序扫完一遍&#xff0c;再缩小区域再扫描 public List<Integer> spiralOrder(int[][] matrix) {List<Integer> order new ArrayList<Int…

【IO进程线程】使用标准IO函数完成用户的登录和注册

1 实现登录功能 自定义一个usr.txt&#xff0c;先手动输入其账户密码。 格式&#xff1a;账户 密码 例&#xff1a; zhangsan 12345 lisi abcde wangwu abc123 需求如下&#xff1a; 1. 从终端获取账户密码&#xff0c;与文件中的账户密码比较&#xff1b; 2. 若终端输入的账户…

胖小酱之麻雀虽小

麻雀虽小&#xff0c;五脏俱全的意思&#xff1a;比喻事物的体积或规模虽小&#xff0c;具备的内容却很齐全。释义&#xff1a;比喻事物体积或规模虽小&#xff0c;具备的内容却很齐全。出处&#xff1a;茹志娟《如愿》&#xff1a;你别看我们那个生产小组不大&#xff0c;麻雀…

web自动化框架:selenium学习使用操作大全(Python版)

目录 一、浏览器驱动下载二、selenium-python安装&#xff08;打开网站、操作元素&#xff09;三、网页解析&#xff08;HTML、xpath&#xff09;四、selenium基本操作1、元素定位八种方法2、元素动态定位3、iframe切换4、填充表单_填充文本框5、填充表单_单选按钮6、填充表单_…