文档章节

482. License Key Formatting - LeetCode

yysue
 yysue
发布于 06/20 22:54
字数 236
阅读 20
收藏 2
点赞 0
评论 0

Question

482. License Key Formatting

Solution

思路:字符串转化为char数组,从后遍历,如果是大写字母就转化为小写字母,如果是-就忽略,如果遍历了k个字符(排除-)就追加一个-

Java实现1:insert版(StringBuilder的append()与insert()效率比较)

public String licenseKeyFormatting(String S, int K) {
    StringBuilder sb = new StringBuilder();
    char[] arr = S.toCharArray();
    int count = 0;
    for (int i = arr.length - 1; i >= 0; i--) {
        char c = arr[i];
        if (c == '-') continue;
        if (count % K == 0) sb.insert(0, '-');
        if (c >= 'a' && c <= 'z') c -= 32;
        sb.insert(0, c);
        count++;
    }
    // return sb.substring(0, sb.length() - 1); // "---" 不通过
    return sb.length() > 0 ? sb.substring(0, sb.length() - 1) : "";
}

Java实现2:append版

public String licenseKeyFormatting(String S, int K) {
    StringBuilder sb = new StringBuilder();
    // char[] arr = S.toCharArray();
    int count = 0;
    for (int i = S.length() - 1; i >= 0; i--) {
        char c = S.charAt(i);
        if (c == '-') continue;
        if (count % K == 0) sb.append('-');//sb.insert(0, '-');
        if (c >= 'a' && c <= 'z') c -= 32;
        sb.append(c);// sb.insert(0, c);
        count++;
    }
    // return sb.substring(0, sb.length() - 1); // "---" 不通过
    return sb.length() > 0 ? sb.reverse().substring(0, sb.length()-1) : "";
}

© 著作权归作者所有

共有 人打赏支持
yysue
粉丝 16
博文 179
码字总数 120125
作品 0
济南
程序员
winrar 去除广告

最近winrar每次打开压缩包就会弹出一个广告,那是因为winrar是收费软件,注册了就没有广告了.下面我教大家怎么注册来屏蔽广告. 方法/步骤 1. 新建一个txt文件并命名为"rarreg.key". 步骤阅读 ...

geek_loser
2016/01/27
184
1
PostgreSQL中时间转换

The PostgreSQL formatting functionsprovide a powerful set of tools for converting various data types(date/time, integer, floating point, numeric) to formatted strings andfor con......

sucre
2016/02/18
285
0
建模工具 Astah 7.2 版发布,改进及修复bug

建模工具 Astah 7.2 版已发布,包括改进和 bug 修复。 新特性&改进 整体 You can now change the font and font-size for each object from the [Set Font] icon or from the top menu [Edi......

李玉珏
2017/10/08
931
2
零基础python刷leetcode -- 1. Two Sum

算法很重要,但是每天也需要学学python,于是就想用python刷leetcode 的算法题,从第一题开始,从简单题开始零基础python刷leetcode之旅。 leetcode 地址 1.第一题:Two Sum Two Sum 首先过一...

linzechi
2017/11/19
0
0
10款优秀的Rich Text Editor

Introduction Javascript rich text editor has ease our life when we need to edit articles, post or even documents online. Most of the editors allow user to edit the content strai......

Alex_曰生
2015/04/11
0
0
Leetcode 1——Two Sum

文章作者:Tyan 博客:noahsnail.com | CSDN | 简书 1. 问题描述 Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may as......

Quincuntial
2017/03/15
0
0
算法解题记录——TwoSum(leetCode#1-easy)

题目 Problem Description Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exac......

三汪
2017/12/06
0
0
PHP 开发的 CMS 系统--Baun

Baun 是一个现代、轻量级和可扩展的 CMS 系统,使用 PHP 开发。其灵感来自作者之前的 Pico 系统。 主要特性: 简单 Simple - Baun makes creating and maintaining a website as simple as ...

红薯
2015/03/06
2.5K
0
748. Shortest Completing Word。

Find the minimum length word from a given dictionary words, which has all the letters from the string licensePlate. Such a word is said to complete the given string licensePlate......

Leafage_M
02/23
0
0
NoSQL比较:Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j

本文详细介绍这几个 NoSQL 服务器的特点以及适用的场合! CouchDB Written in: Erlang Main point: DB consistency, ease of use License: Apache Protocol: HTTP/REST Bi-directional (!) ......

红薯
2011/08/29
14K
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git 基础 - 远程仓库的使用

远程仓库的使用 要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库。远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写。同他人协作开发某...

谢思华
6分钟前
0
0
面试宝典-悲观锁和乐观锁

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 乐观锁(Optimistic...

suyain
8分钟前
0
0
崛起于Springboot2.X之集成MongoDb使用mongoTemplate CRUD(27)

1、pom依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.7</version></dependency><dependency> <groupId>log4j</......

木九天
18分钟前
0
0
切分log日志

新建logback.xml放到resource里面 <?xml version="1.0" encoding="utf-8"?><configuration> <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender"> <......

talen
23分钟前
0
0
spring @Resource 和 @Autowired 的使用区别

这两个 注解 @Resource 和 @Autowired , 常识都知道 @Resource 是 JAVAEE 自带的,@Autowired 是 spring 的自定义注解。 一般情况下, 使用 bean的时候, 这两个注解 随便使用一个即可。 但...

之渊
28分钟前
0
0
springboot集成elasticsearch客户端问题记录

1背景说明 服务端ES版本为5.5.2,springboot版本为1.5.6。 工程中添加如下依赖 2问题记录 2.1 NetworkPlugin类找不到 报错java.lang.ClassNotFoundException: org.elasticsearch.plugins.Net...

zjg23
30分钟前
1
0
快速构建ceph可视化监控系统

前言 ceph的可视化方案很多,本篇介绍的是比较简单的一种方式,并且对包都进行了二次封装,所以能够在极短的时间内构建出一个可视化的监控系统 本系统组件如下: ceph-jewel版本 ceph_expor...

万建宁
30分钟前
0
0
Java构造器使用注意

public class 父类A {int age = 10;protected void say() {System.out.println("父类A");}public 父类A() {override();}public void override() {Syst...

咸鱼AI
31分钟前
0
0
TensorFlow 线性分类

构造直线 z = 2 * x - 3 * y + 4 x0*w0+x1*w1+b=0 x1=-x0* w0/w1-b/w1 斜率 k= -w0/w1 截距 -b/w1 随机生成数据,加入一定的偏差,用直线将二维平面分为两部分 使用线性模型拟合参数 损失函数...

阿豪boy
34分钟前
0
0
翻译冒泡排序测试

翻译一个冒泡排序: var a = [1,3,2,4,6,5];var f = 0;var n = a.length ;for( var i =1; i<= n; i++) { for( var j = n-1 ; j >= i; j --) { if(a[j] < a[j+1]) { ......

钟元OSS
35分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部