leetcode482
这道题主要使用了C++的几个API,大小写转化,字符串替换。其余的逻辑都比较简单。而且经查资料,string类字符串拼接的速度使用+=的速度是很快的。以下代码,也是用的+=来拼接字符串。
string licenseKeyFormatting(string S, int K) {
transform(S.begin(), S.end(), S.begin(), ::toupper);
string oldStr = "-";
string newStr = "";
while (true) {
string::size_type pos();
if ((pos = S.find(oldStr)) != string::npos)
{
S.replace(pos, oldStr.length(), newStr);
}
else
{
break;
}
}
vector<string> V;
int len = S.length();
int firstPart = len % K;
int Parts = len / K;
if (Parts == )
{
return S;
}
V.push_back(S.substr(, firstPart));
if (firstPart != )
{
V.push_back("-");
}
for (int i = ; i < Parts; i++)
{
V.push_back(S.substr(firstPart + i*K, K));
if (i != Parts - )
{
V.push_back("-");
}
}
string R;
for (int i = ; i < V.size(); i++)
{
R += V[i];
}
return R;
}
leetcode482的更多相关文章
- [Swift]LeetCode482. 密钥格式化 | License Key Formatting
You are given a license key represented as a string S which consists only alphanumeric character and ...
随机推荐
- poj 2478 Farey Sequence 欧拉函数前缀和
Farey Sequence Time Limit: 1000MS Memory Limit: 65536K Description The Farey Sequence Fn for ...
- 关于synchronized关键字
1.synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronized aMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有 ...
- 语音03_TTS_C#示例代码
参考网址: (1)TTS-零基础入门-10分钟教你做一个语音功能 http://blog.csdn.net/u010176014/article/details/47326413 (2).TTS-零基 ...
- 深入剖析Redis主从复制
[http://sofar.blog.51cto.com/353572/1413024/] [Redis 主从复制的内部协议和机制] 一.主从概述 Redis 支持 Master-Slave( ...
- MDX中Filter 与Exist的区别
获得一个集合,这个一般用来筛选出一个自定义的set,比如在中国的餐厅 该set返回所有MSDNteam下并且在Fact Thread度量上有记录的products 用Exists实现 sele ...
- 高性能Js-加载和执行
Js文件加载和执行 单线程 概念:浏览器使用单一线程处理UI渲染和js脚本执行(只触发一次) 问题:等待js文件下载.解析.执行,UI渲染和用户界面刷新被阻塞(异步方式解决) 关键:文件加载.文件执行 ...
- spring mvc中,如何在 Java 代码里,获取 国际化 内容
首先,在Spring的application.xml中定义 <bean id="messageSource" class="org.springframework. ...
- 去除编译警告@SuppressWarnings注解用法详解(转)
使用:@SuppressWarnings(“”)@SuppressWarnings({})@SuppressWarnings(value={}) 编码时我们总会发现如下变量未被使用的警告提示: 上述代 ...
- 2018.8.11E-mail
1发送附件 Attached please find the XXX for your review and comment. Outlook的附件最好不超过10M,文件要用英语命名,视频音频要压缩 ...
- Azure新建的CentOS设置root账户的密码
前言:Azure在新建VM的时候的账户使用的是自定义的用户名和密码或者自定义的用户名使用公钥 1.使用自定义的用户名登录到服务器. 2.设置root的密码: sudo passwd root 3.按照 ...