• Encoding


    Encoding

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 36852    Accepted Submission(s): 16344

    Problem Description
    Given a string containing only 'A' - 'Z', we could encode it using the following method: 

    1. Each sub-string containing k same characters should be encoded to "kX" where "X" is the only character in this sub-string.

    2. If the length of the sub-string is 1, '1' should be ignored.
     
    Input
    The first line contains an integer N (1 <= N <= 100) which indicates the number of test cases. The next N lines contain N strings. Each string consists of only 'A' - 'Z' and the length is less than 10000.
     
    Output
    For each test case, output the encoded string in a line.
     
    Sample Input
    2 ABC ABBCCC
     
    Sample Output
    ABC A2B3C
     
    注意子字符串定义:
    substring
    "abc"的substring包括"ab","bc","a"等等

    必须是连续的,如果不连续如"ac",则叫做subsequence (子序列)

    #include<iostream>
    #include<string>//这里用cstring oj编译不通过

    using namespace std;

    int main()
    {
    int caseNum=0;
    cin>>caseNum;
    while(caseNum--)
    {
    string strs;
    cin>>strs;
    int len=strs.length();
    for(int i=0;i<len;i++)
    {
    char ori=strs[i];
    if((i-1>-1)&&(strs[i]==strs[i-1]))
    {
    if(i==len-1)cout<<endl;
    continue;
    }
    int count=1;
    for(int j=i+1;j<len;j++)
    {
    if(ori!=strs[j])
    {
    break;
    }
    else
    {
    count++;
    }
    }
    if(count==1)
    {
    cout<<ori;
    }
    else
    {
    cout<<count<<ori;
    }
    if(i==len-1)cout<<endl;
    }
    }
    return 0;
    }

     
  • 相关阅读:
    Java基础之StringBuffer和StringBuilder的区别
    ElasticSearch初体验之使用
    oracle基础之游标的理解与使用
    Java基础之创建实例化对象的方式
    vue.$nextTick实现原理
    vue3双向数据绑定原理_demo
    css实现水平-垂直居中的方法
    中文数组转为数字
    props&attrs provide inject
    vue2和vue3比较
  • 原文地址:https://www.cnblogs.com/honeybusybee/p/5244358.html
Copyright © 2020-2023  润新知