zoukankan      html  css  js  c++  java
  • 482. License Key Formatting

    You are given a license key represented as a string S which consists only alphanumeric character and dashes. The string is separated into N+1 groups by N dashes.

    Given a number K, we would want to reformat the strings such that each group contains exactly K characters, except for the first group which could be shorter than K, but still must contain at least one character. Furthermore, there must be a dash inserted between two groups and all lowercase letters should be converted to uppercase.

    Given a non-empty string S and a number K, format the string according to the rules described above.

    Example 1:

    Input: S = "5F3Z-2e-9-w", K = 4
    
    Output: "5F3Z-2E9W"
    
    Explanation: The string S has been split into two parts, each part has 4 characters.
    Note that the two extra dashes are not needed and can be removed.
    

     

    Example 2:

    Input: S = "2-5g-3-J", K = 2
    
    Output: "2-5G-3J"
    
    Explanation: The string S has been split into three parts, each part has 2 characters except the first part as it could be shorter as mentioned above.
    

     

    Note:

    1. The length of string S will not exceed 12,000, and K is a positive integer.
    2. String S consists only of alphanumerical characters (a-z and/or A-Z and/or 0-9) and dashes(-).
    3. String S is non-empty.

    输出的字符串,每组包含K个字符,第1组可以小于K个

    C++(12ms):

     1 class Solution {
     2 public:
     3     string licenseKeyFormatting(string S, int K) {
     4         string res = "";
     5         int len = S.size() ;
     6         for(int i = len-1 ; i >= 0 ; i--){
     7             if (S[i] != '-'){
     8                 if (res.size()%(K+1) == K){
     9                     res += '-' ; 
    10                     res += toupper(S[i]) ;
    11                 }else{
    12                     res += toupper(S[i]) ;
    13                 }
    14             }
    15         }
    16         reverse(res.begin() , res.end()) ;
    17         return res ;
    18     }
    19 };
  • 相关阅读:
    H5图片裁剪升级版(手机版)
    仿IOS 开关按钮
    JS 数字转换为大写金额
    Unity UGUI——遮罩效果(Mask)
    AdTime:多屏时代下传统媒体的鼓起
    C语言中随机数相关问题
    在vc中使用xtremetoolkit界面库-----安装及环境配置
    初识HTML 5:关于它的三个三
    移动中间件产品的解决方式
    Android ListView 常见问题与使用总结
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/8202857.html
Copyright © 2011-2022 走看看