力扣(LeetCode)482. 密钥格式化
2024-10-16 13:13:07
给定一个密钥字符串S,只包含字母,数字以及 '-'(破折号)。N 个 '-' 将字符串分成了 N+1 组。给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字##符,第一个分组至少要包含 1 个字符。两个分组之间用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。
给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。
示例 1:
输入:S = "5F3Z-2e-9-w", K = 4
输出:"5F3Z-2E9W"
解释:字符串 S 被分成了两个部分,每部分 4 个字符;
注意,两个额外的破折号需要删掉。
示例 2:
输入:S = "2-5g-3-J", K = 2
输出:"2-5G-3J"
解释:字符串 S 被分成了 3 个部分,按照前面的规则描述,第一部分的字符可以少于给定的数量,其余部分皆为 2 个字符。
提示:
S 的长度不超过 12,000,K 为正整数
S 只包含字母数字(a-z,A-Z,0-9)以及破折号'-'
S 非空
java版
class Solution {
public String licenseKeyFormatting(String S, int K) {
S = S.replaceAll("-", "").toUpperCase();
int len = S.length();
if(len ==0 ) {
return "";
}
int remain =len % K;
int times = len / K;
StringBuilder sb = new StringBuilder();
if(remain != 0) {
sb.append(S.substring(0, remain)+"-");
}
while(times>0) {
sb.append(S.substring(len-times*K, len-times*K+K)+"-");
times--;
}
return sb.toString().substring(0, sb.toString().length()-1);
}
}
运行结果
最新文章
- 用pyspider爬淘宝MM照片
- [转]17个新手常见Python运行时错误
- 详解mysql int类型的长度值问题【转】
- jQuery插件之simplemodal
- css解决select下拉表单option高度的办法
- ASP.NET 操作Cookie详解 增加,修改,删除
- 【ajax】xhr
- 旨在脱离后端环境的前端开发套件 - IDT Server篇
- (六) 6.3 Neurons Networks Gradient Checking
- android应用activity中调出输入法后界面调整问题的解决
- 在Linux上进行QT UI开发
- 1 Yoga3 系统装机总结.
- CCI_chapter 8 Recurision
- 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据
- CSS预编译与PostCSS以及Webpack构建CSS综合方案
- Java笔记Spring(七)
- uni-app 使用 iconfont
- Django1.0和2.0中的rest_framework的序列化组件之超链接字段的处理
- SpringBoot(十二)-- 整合Redis
- python 将列表中的字符串转为数字
热门文章
- 东大oj1155 等凹函数
- CLOSE_WAIT状态的原因与解决方法(转载留自己看)
- [qemu] 差分盘使用
- Win7-IE11 For x86&;x64离线安装包
- Java连接MySQL报出警告 WARN: Establishing SSL connection without server's identity verification is not recommended.
- 如何在一个电脑上使用两个github账号
- mysql 目录
- javaweb(4)之Listener&;Filter
- 微信小程序 条件渲染 wx:if
- HBase 笔记3