【免费题库】华为OD机试 - 密钥格式化(Java & JS & Python & C & C++)

该博客介绍了华为在线开发者(OD)机试中的一道题目,涉及将字符串按照指定间隔用破折号分隔并转换为大写。详细解释了题目的描述、输入输出格式,并提供了Java、JavaScript、Python、C和C++的解题代码示例。解题策略包括按'-'拆分字符串,调整子串间隔,转换字母大小写,最后重新组合成新字符串。
摘要由CSDN通过智能技术生成

题目描述

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

输入描述

正整数 K 和‘-’分割的字符串,如:

2
25G3C-abc-d

输出描述

转换后的字符串

用例

输入
4
5F3Z-2e-9-w

输出 5F3Z-2E9W
说明
字符串 S 被分成了两个部分,每部分 4 个字符;

注意,两个额外的破折号需要删掉。

输入
2
2-5g-3-J

输出 2-5G-3J
说明 字符串 S 被分成了 3 个部分,按照前面的规则描述,第一部分的字符可以少于给定的数量,其余部分皆为 2 个字符。

解题思路:

  1. 将字符串按照’-'分割成子串列表。
  2. 遍历子串列表,对每个子串进行处理:
    a. 如果子串长度大于K,将其分成长度为K的子串,并用’-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值