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

在这里插入图片描述

目录

    • 专栏导读
    • 一、题目描述
    • 二、输入描述
    • 三、输出描述
    • 四、解题思路
    • 五、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 2022 Q4 100分)_第1张图片

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


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

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

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

在这里插入图片描述

你可能感兴趣的:(搬砖工逆袭Java架构师,华为od,java,python,字符串)