LeetCode简单题之密钥格式化

news/2025/1/2 1:47:41/

题目

有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。
给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 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 的长度可能很长,请按需分配大小。K 为正整数。
S 只包含字母数字(a-z,A-Z,0-9)以及破折号’-’
S 非空

来源:力扣(LeetCode)

解题思路

  大体思路:第一步先将‘-’去掉,然后计算第一组有多少字符;第二步,遍历剩下的字符,每个k个字符添加一个‘-’。

class Solution:def licenseKeyFormatting(self, s: str, k: int) -> str:S=s.replace('-','')  #去除‘-’temp=len(S)%k  #计算第一组在整个字符串中的位置news=S[0:temp].upper()  #构造第一组,这里有两种情况其一是0个字符,其二是大于0小于k个字符if temp:  #count计数当前已经访问了几个字符,第一组有字符的话按k个处理count=kelse:count=0for i in S[temp:]:if count==k:news+='-'news+=i.upper()count=1else:news+=i.upper()count+=1return news

在这里插入图片描述


http://www.ppmy.cn/news/606188.html

相关文章

机器都会学习了,你的神经网络还跑不动?来看看这些建议

在很多机器学习的实验室中,机器已经进行了上万小时的训练。在这个过程中,研究者们往往会走很多弯路,也会修复很多bug,但可以肯定的是,在机器学习的研究过程中,学到经验和知识的并不仅仅是机器,我…

[算法刷题笔记]二叉树练习(3)完全二叉树的节点个数

✨牛客刷题🍑前言🍑题目描述🍑方法一(看成普通二叉树)🍊🍊 递归🍊🍊迭代🍑方法二(利用完全二叉树的性质)🍑结束语📃个人主页:不断前进的皮卡丘🌞博…

LeetCode简单题之最小操作次数使数组元素相等

题目 给你一个长度为 n 的整数数组,每次操作将会使 n - 1 个元素增加 1 。返回让数组所有元素相等的最小操作次数。 示例 1: 输入:nums [1,2,3] 输出:3 解释: 只需要3次操作(注意每次操作会增加两个元素的…

AI医学影像技术展望

AI医学影像技术展望 医学影像是指为了医疗或医学研究,对人体或人体某部分,以非侵入方式取得内部组织影像的技术与处理过程。它包含以下两个相对独立的研究方向:医学成像系统(medical imaging system)和医学图像处理&am…

LeetCode简单题之键盘行

题目 给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。 美式键盘 中: 第一行由字符 “qwertyuiop” 组成。 第二行由字符 “asdfghjkl” 组成。 第三行由字符 “zxcvbnm” 组成。 示例 1&#xf…

Spring Boot底层原理

✨Spring Boot底层原理Spring Boot优点spring boot依赖的版本仲裁中心spring boot启动器(简化maven依赖)主启动类和主配置类(xxxApplication)测试类使用maven构建spring boot项目📃个人主页:不断前进的皮卡丘🌞博客描述:梦想也许遥不可及,但重…

Python学习(四)cPickle的用法

python中有两个类似的:pickle与cPickle;两者的关系:“cPickle – A faster pickle”   pickle模块中的两个主要函数是dump()和load()。dump()函数接受一个文件句柄和一个数据对象作为参数,把数据对象以特定的格式保存到给定的文…

Mobileye技术与市场走势

Mobileye技术与市场走势 Mobileye是以色列一家生产协助驾驶员在驾驶过程中保障乘客安全和减少交通事故的视觉系统的公司。 2017年3月13日,英特尔正式宣布,以每股63.54美元现金收购Mobileye,股权价值约153亿美元。2021年4月,Mobile…