Leetcode482. 密钥格式化

【LeetCode】第482题——密钥的格式化(难度:简单) 【LeetCode】第482题——密钥的格式化(难度:简单)题目描述解题思路代码详解注意点 题目描述 有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。 给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。 给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。 阅读详情

Every day a leetcode

题目来源:482. 密钥格式化

解法1:模拟

先将字符串s的非‘-’字符存储到数组里,再按要求逆序构建重新格式化的许可密钥,最后反转字符串即为答案。

代码:

/*
 * @lc app=leetcode.cn id=482 lang=cpp
 *
 * [482] 密钥格式化
 */

// @lc code=start
class Solution
{
public:
    string licenseKeyFormatting(string s, int k)
    {
        vector<char> v;
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] != '-')
            {
                if (islower(s[i]))
                    v.push_back(toupper(s[i]));
                else
                    v.push_back(s[i]);
            }
        }
        string ans = "";
        int count = 0;
        for (int i = v.size() - 1; i >= 0; i--)
        {
            ans += v[i];
            count++;
            if (count == k)
            {
                if (i != 0)
                    ans += "-";
                count = 0;
            }
        }
        reverse(ans.begin(), ans.end());
        return ans;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中n为字符串s的长度。

空间复杂度:O(n),其中n为字符串s的长度。

Java实现 LeetCode 482 密钥格式化 482. 密钥格式化 给定一个密钥字符串S,只包含字母,数字以及 ‘-’(破折号)。N 个 ‘-’ 将字符串分成了 N+1 组。给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字符,第一个分组至少要包含 1 个字符。两个分组之间用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。 给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。 示例 1: 输... 阅读详情

相关推荐

山东大学软件学院计算机组成原理课程设计实验二

文章目录一、实验时间二、实验内容1.设计异步模16加1计数器2.设计4位移位器3.超前进位16位ALU的设计 一、实验时间 2021年4月1日星期四,第五周 二、实验内容 1.设计异步模16加1计数器 基本功能:使用D触发器(dff元件)和异或门构建从0开始计数的模16加1计数器 对应的电路图(这里已经实现了预置初值的功能) 拓展功能: (1)实现模256加1计数器 (2)实现计数器预置初值的功能 这里复用了上面的模16加1计数器 这里异步触发器预置初值的功能是这样实现的: (1)首先将CLR端调为0,

叶卡捷琳堡的博客 5254

力扣(LeetCode)482. 密钥格式化

给定一个密钥字符串S,只包含字母,数字以及 '-'(破折号)。N 个 '-' 将字符串分成了 N+1 组。给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字##符,第一个分组至少要包含 1 个字符。两个分组之间用 '-'(破折号)隔开,并且将所有的小写字母转换为大写字母。 给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。 示例 1: 输入:S = "5F...

weixin_30659829的博客 187

Zemax:初学者的混合模式

光线以序列模式开始,然后接近非序列组件的入口端口。到达入口端口后,光线以非序列模式传播,然后接近出口端口。光线离开出口端口后,我们又回到序列模式。在此博客中,使用混合模式的示例将演示根据您自己的需要复制此工作流程所需的基本设置,以及一些有用的技巧。非序列组件表面类型必须在序列模式和非序列模式下定义。为了定义非序列组件的几何形状,请转到设置->编辑器->非序列,单击非序列编辑器。一旦我们进入非序列组件编辑器:表面 2 上的组件组,找到一个对象类型并进行定义。它能让您兼具序列模式的精确性和非序列模式的灵活性。

jkh920184196的博客 1343

LeetCode 482. 密钥格式化 | C++语言版

给定一个许可密钥字符串 s,仅由字母、数字字符和破折号组成。字符串由 n 个破折号分成 n + 1 组。你也会得到一个整数 k 。 我们想要重新格式化字符串 s,使每一组包含 k 个字符,除了第一组,它可以比 k 短,但仍然必须包含至少一个字符。此外,两组之间必须插入破折号,并且应该将所有小写字母转换为大写字母。 返回 重新格式化的许可密钥 。

weixin_45992021的博客 392

混合开关电容DCDC变换器技术解析与工程应用指南

在电源设计领域,传统DCDC变换器在高降压比或高升压比场景下,往往面临占空比过窄、开关应力大、效率偏低等瓶颈。开关电容变换器虽能实现固定比例的电压变换,却受限于调节能力。混合开关电容DCDC变换器通过“开关电容网络粗调变比+电感式DCDC细调输出”的策略,兼顾高效率、高功率密度与宽调压范围。本文梳理了其典型拓扑(如2:1/4:1 SC+Buck)、关键对比、控制策略(含软充电)及工程应用中的常见问题,帮助电源工程师在服务器供电、快充、车载电源等场景下快速选型与调试。

weixin_29164185的博客 316

从零到一:基于JasperGold的FPV实战入门与避坑指南

本文详细介绍了基于JasperGold的形式化验证(FPV)实战入门指南,涵盖环境搭建、SVA断言编写、TCL脚本调试等关键步骤。通过实际案例解析,帮助IC设计工程师掌握FPV技术,有效验证RTL设计中的复杂逻辑和corner case,提升验证效率与质量。

weixin_30899023的博客 365

Leetcode 482. 密钥格式化 C++

Leetcode 482. 密钥格式化 题目 有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。 给你一个数字 K,请你重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字符;而第一个分组中,至少要包含 1 个字符。两个分组之间需要用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。 给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。 示例 1: 输入:S = “5F3Z-2e-9-w”, K = 4 输出:“

weixin_43750513的博客 511

结合 Conda 手动安装 RepeatMasker

RepeatMasker 是一个广泛使用的生物信息学工具,用于识别和屏蔽(mask)基因组序列中的 重复序列(repeats) 。在使用过程中需要调用重复序列数据库(Repbase 和 Dfam),如果使用Conda安装的话会出现许多问题,因此推荐手动安装。在此记录我手动安装RepeatMasker的流程,希望对各位同学有所帮助。

m0_65437087的博客 2537

leetcode: 482. 密钥格式化

链接:https://leetcode-cn.com/problems/license-key-formatting/ C++代码: class Solution { public: string licenseKeyFormatting(string S, int K) { string str = ""; for(int i = 0;i<S.size();i++) { if(S[i]!='-')

Gomamon的博客 214

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

Arcgis 10.3 与 ArcGIS Engine 10.3 安装与破解

weixin_52127098的博客 4726

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1044

力扣-第482题《密钥格式化》

给定一个许可密钥字符串s,仅由字母、数字字符和破折号组成。字符串由n个破折号分成n + 1组。你也会得到一个整数k。我们想要重新格式化字符串s,使每一组包含k个字符,除了第一组,它可以比k短,但仍然必须包含至少一个字符。此外,两组之间必须插入破折号,并且应该将所有小写字母转换为大写字母。返回重新格式化的许可密钥。

ljb_53421的博客 195

OData V2 消息在 SAP UI5 中的生成、传播与治理全解

SAP UI5 的 OData V2 消息机制通过自动解析服务端响应头(sap-message)或错误体,将消息推送到全局 MessageModel,实现数据质量保障。关键点包括:1)消息通过目标路径与控件绑定联动,触发高亮等反馈;2)生命周期管理需注意避免自动刷新导致消息丢失;3)常见陷阱如批处理错误重复、内外层消息冲突等可通过精准目标路径或自定义处理器解决。代码示例展示了如何配置模型、消息模型及 MessagePopover 实现端到端消息展示,同时支持控件通过 refreshDataState 自定义

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 235

力扣(leetcode)第482题密钥格式化(Python)

我们想要重新格式化字符串 s,使每一组包含 k 个字符,除了第一组,它可以比 k 短,但仍然必须包含至少一个字符。解释:字符串 S 被分成了 3 个部分,按照前面的规则描述,第一部分的字符可以少于给定的数量,其余部分皆为 2 个字符。最后,我写了一篇MySQL教程,里面详细的介绍了MySQL的基本概念以及操作指令等内容,欢迎阅读!输入:S = “5F3Z-2e-9-w”, k = 4。输入:S = “2-5g-3-J”, k = 2。输出:“5F3Z-2E9W”输出:“2-5G-3J”

qq_58737789的博客 536

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

力扣482. 密钥格式化

482. 密钥格式化 - 力扣(LeetCode) (leetcode-cn.com) class Solution { public String licenseKeyFormatting(String s, int k) { StringBuilder ans = new StringBuilder(); int cnt = 0; for (int i = s.length() - 1; i >= 0; i--) { .

BJERGSEN的博客 1567

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Leetcode 482. 密钥格式化

Leetcode 482. 密钥格式化 密钥格式化 有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1 组。 给你一个数字 K,请你重新格式化字符串,使每个分组恰好包含 K 个字符。特别地,第一个分组包含的字符个数必须小于等于 K,但至少要包含 1 个字符。两个分组之间需要用 ‘-’(破折号)隔开,并且将所有的小写字母转换为大写字母。 给定非空字符串 S 和数字 K,按照上面描述的规则进行格式化。 示例 1: 输入:S = “5F3Z-2e-9

EIUC_Thread的博客 400

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

leetcode 算法题482 (简单122) 密钥格式化

leetcode 算法题482 (简单122) 密钥格式化 题目介绍 给定一个密钥字符串S,只包含字母,数字以及 '-'(破折号)。 N 个 '-' 将字符串分成了 N+1 组。 给定一个数字 K,重新格式化字符串, 除了第一个分组以外,每个分组要包含 K 个字符, 第一个分组至少要包含 1 个字符。 两个分组之间用 '-'(破折号)隔开, 并且将所有的小写字母转换为大写字母。 给定非空字符串...

FYuu95100的博客 419

leetcode刷题之482.密钥格式化

leetcode刷题之476.数字的补数 题目: 给定一个密钥字符串S,只包含字母,数字以及’-’(破折号)。N个’-‘将字符串分成了N+1组。给定一个数字K,重新格式化字符串,除了第一个分组以外,每个分组要包含K个字符,第一个分组至少要包含1个字符。两个分组之间用’-’(破折号)隔开,并且将所有的小写字母转换为大写字母。给定非空字符串S和数字 K,按照上面描述的规则进行格式化。 提示: • S...

胡萝卜 277

Leetcode 482、密钥格式化

Problem Source : https://leetcode-cn.com/problems/license-key-formatting/ Solution Source : https://github.com/hujingbo98/algorithm/blob/master/source/leetcode/0482_LicenseKeyFormatting.cpp 482、密钥格式化 有一个密钥字符串 S ,只包含字母,数字以及 ‘-’(破折号)。其中, N 个 ‘-’ 将字符串分成了 N+1.

博弈的博客 188

#力扣 LeetCode482. 密钥格式化 @FDDLC

题目描述: https://leetcode-cn.com/problems/license-key-formatting/ 自测用例: "5F3Z-2e-9-w" 3 "2-5g-3-J" 2 "2-5g-3-J" 3 "2-4A0r7-4k" 4 "2-4A0r7-4k" 3 "2-4A0r7-4k" 2 "5F3Z-2e-9-w" 1 Java代码: class Solution { public String licenseKeyFormatting(St...

LiuXingchang的博客 327

leetcode 482. License Key Formatting 密钥格式化

这篇文章介绍了LeetCode第482题"密钥格式化"的解决方案。该问题要求将包含字母数字字符和破折号的字符串重新格式化为特定长度的分组。作者提出了一种解决方案:首先处理原始字符串,去除破折号并将字母转为大写;然后计算字符总数,根据分组长度k确定第一组的长度;最后构建格式化后的字符串,在适当位置插入破折号。该算法的时间复杂度为O(n),空间复杂度为O(n),能够高效地完成字符串格式化任务。文中提供了C++实现代码,展示了具体的处理逻辑和边界条件处理。

邹九的个人博客 366

力扣(leetcode) 482. 密钥格式化

题目在这:https://leetcode-cn.com/problems/license-key-formatting/ 题目分析: 一定读懂题。 1.该段密码字符串具体分为几组的无所谓的。 2.每一段使用 ‘-’ 来隔开。 3.第一段可以为任意个字符,1-k个都可以。 4.原来有多少个 ‘-’ 都无视。 5.最后全部转换成大写字符。 思路分析: 读懂题后就很简单了。 我们可以倒叙遍历,也可以将字符串倒叙后做正向遍历。 我这里采用倒叙字符串的方法, 首先倒叙字符串,然后正序遍历,每K个字符就加一个 ‘-

深度不学习!!的博客 413

LeetCode 482. 密钥格式化

将含破折号的字符串重新格式化,要求:移除所有原有破折号,字母统一大写重新用破折号分隔,第一组可短于 k ,其余每组恰好 k 个字符。

awaxiliduo的博客 260

python-leetcode-482. 密钥格式化

的长度,适用于较长的输入字符串。这个方法的时间复杂度是。

Lucy_wzw的博客 366
上一篇: Leetcode476. 数字的补数
下一篇: Leetcode485. 最大连续 1 的个数
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值