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 };
  • 相关阅读:
    动态规划>0/1背包问题 小强斋
    【C/C++和指针】auto_ptr智能指针
    WEBSHELL
    sql反模式分析1
    SQLServer之Compute/ComputeBy实现数据汇总
    链表算法大全
    【C++ Primer】自己动手编写函数 atoi(char *str)
    MySQL 5.5 的COMPRESSED INNODB 表
    【设计模式】加薪非要老总批 职责链模式
    【C和指针】const指针
  • 原文地址:https://www.cnblogs.com/mengchunchen/p/8202857.html
Copyright © 2011-2022 走看看