博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDOJ 1020 Encoding
阅读量:6252 次
发布时间:2019-06-22

本文共 2089 字,大约阅读时间需要 6 分钟。

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

题意:按照字符串的顺序,输出字符的个数和字符。

如果字符出现次数为1次,只要输出原字符。
如果输入为:ABBCCCBBB
输出为:A2B3C3B
而不是:A5B3C

import java.util.Scanner;public class Main {
public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nextInt(); while (t-- > 0) { String strs = sc.next(); // System.out.println(strs+"=strs"); boolean isSee[] = new boolean[strs.length()]; for (int i = 1; i < isSee.length; i++) { isSee[i] = false; } int sum = 0; boolean isLast=false; for (int i = 0; i < strs.length()-1; i++) { if(strs.charAt(i)==strs.charAt(i+1)) { isSee[i]=true; isSee[i+1]=true; sum=sum+1; }else{ sum=sum+1; isSee[i]=false; } if(!isSee[i]){ if(sum==1){ System.out.print(strs.charAt(i)); }else{ System.out.print(""+sum+strs.charAt(i)); } } if(!isSee[i]){ sum=0; } } if(isSee[strs.length()-1]){ System.out.print(""+(sum+1)+strs.charAt(strs.length()-1)); }else{ System.out.print(strs.charAt(strs.length()-1)); } System.out.println(); } }}

转载地址:http://kofsa.baihongyu.com/

你可能感兴趣的文章
Javascript 打开模式窗口
查看>>
POJ -2513 Colored Sticks 字典树 + 并查集 + 欧拉路
查看>>
【听课笔记】MIT领导力课程笔记:施乐前CEO Anne——在火线上得到的经验
查看>>
【Oracle】手工配置Oracle 10G Enterprise Manager【转载】
查看>>
oracle用户状态
查看>>
[用UpdateLayeredWindow实现任意异形窗口]
查看>>
Android 源码编译make的错误处理
查看>>
【Gson】2.2.4 StackOverflowError 异常
查看>>
来玩Play框架01 简介
查看>>
ArcSDE for Oracle表空间管理——暂时(TEMP)表空间
查看>>
Android Bundle类
查看>>
[转]IC行业的牛人
查看>>
linux 16进制 产看文件
查看>>
javaScript事件(四)event的公共成员(属性和方法)
查看>>
Oracle之比较NVARCHAR2字符串
查看>>
linux系统常用命令
查看>>
用原始方法解析复杂字符串,json一定要用JsonMapper么?
查看>>
Linux ld命令
查看>>
在 Word 中的受支持的区域设置标识符的列表
查看>>
No package的问题解决
查看>>