华为OD机试 - 秘钥格式化 - 双指针(Java 2023 B卷 100分)

news2024/9/23 21:21:35

在这里插入图片描述

目录

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

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

专栏导读

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

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

一、题目描述

给定一个非空字符串 S,其被 N 个’-‘分隔成 N+1 的子串,给定正整数 K,要求除第一个子串外,其余的串每 K 个用’-‘分隔,并将小写字母转换为大写。

二、输入描述

正整数 K 和‘-’分割的字符串。

如:
2
25G3C-abc-d

三、输出描述

转换后的字符串。

四、解题思路

给定一个非空字符串 S,其被 N 个’-‘分隔成 N+1 的子串,给定正整数 K,要求除第一个子串外,其余的串每 K 个用’-‘分隔,并将小写字母转换为大写。

五、Java算法源码

package com.guor.od;

import java.util.*;

public class OdTest01 {

    /**
     * 秘钥格式化
     * <p>
     * 给定一个非空字符串 S,其被 N 个’-‘分隔成 N+1 的子串,
     * 给定正整数 K,要求除第一个子串外,其余的串每 K 个用’-‘分隔,并将小写字母转换为大写。
     */
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // 给定一个非空字符串 S
        String S = scanner.nextLine();
        // 给定正整数 K
        int K = Integer.parseInt(scanner.nextLine());
        String[] arr = S.split("-");
        StringBuilder builder = new StringBuilder();
        for (int i = 1; i < arr.length; i++) {
            // 将小写字母转换为大写
            builder.append(arr[i].toUpperCase());
        }

        // 转换后的字符串
        StringBuilder transferBuilder = new StringBuilder();
        transferBuilder.append(arr[0]);
        for (int i = 0; i < builder.length(); i++) {
            // 每 K 个用’-‘分隔
            if (i % K == 0) {
                transferBuilder.append("-");
            }
            transferBuilder.append(builder.charAt(i));
        }
        System.out.println(transferBuilder);
    }
}

六、效果展示

1、输入

nezha-study-java
3

2、输出

nezha-STU-DYJ-AVA

3、说明

在这里插入图片描述


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

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

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

在这里插入图片描述

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

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

相关文章

条件判断语句

二、判断语句 # 判断语句result10>15 print("10>5的结果是&#xff1a;%s"% result,type(result))eq"yl""yl" print("\"ylyl\" %s"% eq,type(eq))bool_1True bool_2False print(f"打印出类型,{bool_1},类型是{ty…

【论文笔记】MetaBEV: Solving Sensor Failures for BEV Detection and Map Segmentation

原文链接&#xff1a;https://arxiv.org/abs/2304.09801 1. 引言 目前&#xff0c;多模态融合感知中的一大问题在于忽视了传感器失效带来的影响。之前工作的主要问题包括&#xff1a; 特征不对齐&#xff1a;通常使用CNN处理拼接后的特征图&#xff0c;存在几何噪声时可能导致…

2023-8-14 前缀和

原题链接&#xff1a;前缀和 #include <iostream> using namespace std;const int N 100010;int n, m;int a[N], s[N];int main () {scanf("%d%d", &n, &m);for(int i 1; i < n; i ) scanf("%d", &a[i]);for(int i 1; i < n;…

Oracle Database12c数据库官网下载和安装教程

文章目录 下载安装Oracle自带的客户端工具使用 下载 进入oracle官网 点击下载连接之后右上角会有一个下载 我们只需要数据库本体就够了 运行这个下载器 等待下好之后即可 出现 Complete 之后代表下载成功&#xff0c;然后我们解压即可 安装 双击 双击setup.exe 根据…

windows电脑安装了多个版本python 用vscode编程如何指定版本

在状态栏中找到 Python 版本号。这个版本号表示当前正在使用的 Python 解释器版本。 如果需要切换到其他版本的 Python&#xff0c;请点击版本号&#xff0c;然后从列表中选择所需的 Python 版本。列表中的 Python 版本是按照安装顺序排列的。这里一般会有多个版本可供选择

URL编码指南

URL简介 URL 是统一资源定位符&#xff08;Uniform Resource Locator&#xff09;的缩写。它是用于在互联网上定位并访问资源的一种标识方式。 URL通常由以下几个组成部分组成&#xff1a; 协议&#xff08;Protocol&#xff09;&#xff1a;指示要使用的协议&#xff0c;如…

ubuntu 搜狗输入法安装 和 无法输入中文

一、下载搜狗输入法Linux版本。 搜狗输入法linux-首页 二、安装fcitx输入框架&#xff0c;及相关的依赖库 sudo apt install fcitx-bin sudo apt-get install fcitx-table sudo apt --fix-broken install 三、安装搜狗输入法 sudo dpkg -i sougou....deb 四、通过 设置&…

【福建事业单位-综合基础知识】03行政法

【福建事业单位-综合基础知识】03行政法 1.行政法概述&#xff08;原则重点&#xff09;行政主体范围 行政行为总结 二.行政处罚2.1行政处罚的种类总结 行政法框架 1.行政法概述&#xff08;原则重点&#xff09; 行政法的首要原则是合法&#xff1b;自由裁量——合理行政&…

RequestRespons

文章目录 Request&Respons1 Request和Response的概述2 Request对象2.1 Request继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 IDEA快速创建Servlet2.4 请求参数中文乱码问题2.4.1 POST请…

标题:Python数据结构详解:列表、元组、字典和集合

文章目录 &#x1f340;引言&#x1f340;列表&#xff08;List&#xff09;&#xff1a;有序可变序列&#x1f340;特点&#x1f340;常见操作 &#x1f340;元组&#xff08;Tuple&#xff09;&#xff1a;有序不可变序列&#x1f340;特点&#x1f340;常见操作 &#x1f34…

18-组件化开发 根组件

组件化开发 & 根组件: 1. 组件化:一个页面可以拆分成一个个组件&#xff0c;每个组件有着自己独立的结构、样式、行为. 好处:便于维护&#xff0c;利于复用->提升开发效率 组件分类: 普通组件 , 根组件 2. 根组件:整个应用最上层的组件&#xff0c;包裹所有普通小组件…

Smartbi:大模型+ABI在企业数字化浪潮中“推波助澜”?

围绕着大模型进行开发的范式正在形成。 2023年以来&#xff0c;ChatGPT让各界认识到通用大模型的力量。随之而来的&#xff0c;是一场属于所有行业的科技盛宴&#xff0c;一个个行业大模型涌现&#xff0c;几乎所有科技企业都在计划或已经发布了自己的大语言模型&#xff08;L…

ACDU-数据库技术揭秘及应用实践

ACDU-数据库技术揭秘及应用实践 会议时间&#xff1a;2023-08-19 13&#xff1a;30 ~ 17:30 会议地点&#xff1a;杭州西溪万怡酒店 活动主题&#xff1a;本活动由中国数据库联盟组织&#xff0c;并汇集了数据库领域知名人士&#xff0c;一起探讨了数据库前沿技术的应用。 活动…

记录:win10物理机ping不通虚拟机上的docker子网(已解决)

【说明】 windows10&#xff1a;已关闭防火墙 linux发行版本&#xff1a;centos7.9&#xff08;已禁用SElinux、已关闭防火墙&#xff09; 虚拟机软件&#xff1a;VMware Workstation 17 虚拟机网络模式&#xff1a;NAT模式 docker版本&#xff1a;20.4.5 docker网络模式…

当众讲话与演讲口才沙龙活动策划方案

活动名称&#xff1a;当众讲话与演讲口才沙龙 活动目的&#xff1a; 当众讲话与演讲口才沙龙旨在提升参与者的演讲口才能力&#xff0c;培养自信心和表达能力&#xff0c;促进交流与分享。通过举办此活动&#xff0c;我们希望能够帮助参与者克服公众演讲的恐惧&#xff0c;提…

Visual studio的安装教程(最新最详细)新手小白必备

目录 简介 1、Visual Studio下载 2、配置 3、新建项目 4.新建文件 5、选择C文件&#xff08;cpp&#xff09; &#xff0c;命名&#xff0c;选择位置即可 ​编辑 简介 Visual Studio 集成开发环境是一种创新启动板&#xff0c;可用于编辑、调试并生成代码&#xff0c;…

PatchMatchNet 在线查看训练曲线、多条曲线显示在一张图上、多次训练曲线放在一张图上对比

文章目录 1准备工作1.1 可视化工具-Tensorboard调用1.2 查看训练文件2 Tensorboard在线查看训练曲线2.1 查看训练曲线 平滑度调节 SCALARS 训练曲线3 将多条曲线叠加在一张图上显示4 多次训练曲线 放在一张图上对比1准备工作 1.1 可视化工具-Tensorboard调用 Tensorboard模块…

接口测试 —— Jmeter 参数加密实现

Jmeter有两种方法可以实现算法加密 1、使用__digest自带函数 参数说明&#xff1a; Digest algorithm&#xff1a;算法摘要&#xff0c;可输入值&#xff1a;MD2、MD5、SHA-1、SHA-224、SHA-256、SHA-384、SHA-512 String to be hashed&#xff1a;要加密的数据 Salt to be…

操作系统_内存管理(二)

目录​​​​​​​ 2. 虚拟内存管理 2.1 虚拟内存的基本概念 2.1.1 传统存储管理方式的特征 2.1.2 局部性原理 2.1.3 虚拟存储器的定义和特征 2.1.4 虚拟内存技术的实现 2.2 请求分页管理方式 2.2.1 页表机制 2.2.2 缺页中断机构 2.2.3 地址变换机构 2.3 页框分配…

Aurix TC3xx系列MCU ResourceM模块配置(多核资源分配)

文章目录 1 前言2 配置方法 >>返回总目录<< 1 前言 为减轻主核的负载率或者平衡各个核的资源分配&#xff0c;通常需要把一些MCU内部资源分配到从核上&#xff0c;在EB tresos工具中&#xff0c;通过ResourceM模块实现多核资源分配。 2 配置方法 ResourceMMaste…