领扣LintCode算法问题答案-1214. 许可证密钥格式
发布日期:2021-06-30 17:10:22
浏览次数:2
分类:技术文章
本文共 1209 字,大约阅读时间需要 4 分钟。
领扣LintCode算法问题答案-1214. 许可证密钥格式
目录
1214. 许可证密钥格式
描述
给定一个用字符串S表示的许可证,其中仅仅包含了数字、字母和短横线。字符串被N个短横线“-”切分为了N+1组。
给定一个数字K,要求重新整理字符串的格式,使得除了第一组之外的每个组正好K个字符,第一组长度可以比K小,但也至少要包含一个字符。此外,对于两个组之间必须要插入一个短横线,所有的小写字母都要转换为大写字母。
- 字符串S的长度不会超过12000,而且K是一个正整数。
- 字符串S仅仅包含大小写字母、数字和短横线“-”。
- 字符串S非空。
样例 1:
输入: S = "5F3Z-2e-9-w", K = 4输出: "5F3Z-2E9W"解释: 字符串S切分为两个部分, 每个部分有4个字符。注意原串中两个额外的横线是多余的,可以删掉。
样例 2:
输入: S = "2-5g-3-J", K = 2输出: "2-5G-3J"解释: 字符串S切分为了三部分, 每个部分有两个字符,除了第一个部分,因为如原题所述,第一部分长度只有1。
题解
public class Solution { /** * @param S: a string * @param K: a integer * @return: return a string */ public String licenseKeyFormatting(String S, int K) { // write your code here StringBuilder sb = new StringBuilder(); int length = 0; for (int i = S.length() - 1; i >= 0; i--) { char c = S.charAt(i); if (c != '-') { if (length >= K) { sb.append("-"); length = 0; } sb.append(Character.toUpperCase(c)); length++; } } return sb.reverse().toString(); }}
鸣谢
非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。
欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。
转载地址:https://le-yi.blog.csdn.net/article/details/108899463 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月26日 20时17分32秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【NLP学习笔记】文本分类概述
2019-04-30
【深度学习笔记】文本分类
2019-04-30
【转载】炼丹实验室:深度学习网络调参技巧
2019-04-30
【论文阅读笔记】文本分类论文汇总
2019-04-30
【NLP学习笔记】One-hot encoding:独热编码
2019-04-30
【工具使用】CSDN编辑器markdown字体、颜色与字号的设置
2019-04-30
【NLP学习笔记】词共现矩阵
2019-04-30
【NLP学习笔记】NLP基础知识框架图
2019-04-30
【工具和环境】Linux下安装pycharm
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30
【解决错误】The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30