字符串扩展
来源:互联网 发布:zram内存优化如何修改 编辑:程序博客网 时间:2024/06/03 21:32
字符串扩展
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
Tom有些时候为了记录的方便,常常将一些连续的字符用扩展符'-'简单表示。比如abcdefg可以简写为a-g,即用起始的字符和终止字符中间加上一个扩展符'-'来表示这个字符串。但是为了处理的方便,Tom又必须将这些我们简单记法扩展成原来的字符串。很明显要是人工来做的话必定很麻烦,Tom知道计算机可以帮助他完成这个任务,但是他却不会编程,这的确让他很上火。他知道今天是山东理工大学第三届ACM校赛的日子,届时来自全校的编程爱好者都会来参加比赛,他很兴奋,因为这个困惑他良久的问题终于要被解决了。给你一个含有扩展符'-'的字符串,你的任务就是将他还原成原来的字符串。要求是只处理[a-z]、[A-Z]、[0-9]范围内的字符扩展,即只有当扩展符前后的字符同时是小写字母、大写字母或数字时并且扩展符前面的字符不大于后面的字符才进行扩展,其它情况不进行扩展,原样输出。例如:a-R、D-e、0-b、4-B等字符串都不进行扩展。
Input
第一行是一个正整数T,表示共有T组测试数据(T < 100)。下面的T行,每一行包括一个长度不大于1000的待扩展字符串.
Output
每组测试数据输出一行扩展后的字符串。
Example Input
3ADEa-g-m02acm-0-5-a-ac-cm-m-A-AC-CM-MWelcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-1-3-A-z-a-Z
Example Output
ADEabcdefghijklm02acm-012345-aaccmm-AACCMMWelcometothe3rdACM/ICPCCampusProgrammingContestofSDUT-123-A-z-a-Z
Hint
Author
山东理工大学第三届ACM程序设计竞赛
import java.util.*; public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt(); while(n-- != 0){ String str = input.next(); String newStr = expand(str); System.out.println(newStr); } } public static String expand(String oldStr){ StringBuffer buffer = new StringBuffer(); char[] charArray = oldStr.toCharArray(); for(int i = 0;i < charArray.length;i++){ buffer.append(charArray[i]); if(charArray[i] == '-'&& i > 0&& i < charArray.length-1){ char beforeChar = charArray[i-1]; char nextChar = charArray[i+1]; if((beforeChar <= nextChar) && ( (beforeChar >= 'a' && nextChar <= 'z')|| (beforeChar >= 'A' && nextChar <= 'Z')|| (beforeChar >= '0' && nextChar <='9'))){ buffer.deleteCharAt(buffer.length()-1); for(int ch = beforeChar+1;ch <= nextChar-1;ch++){ buffer.append((char)ch); } } } } return buffer.toString(); } }
阅读全文
0 0
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 字符串扩展
- 打包静态页面不发ajax请求研究
- 【小白的CFD之旅】16 流程
- Unix环境高级编程——Unix基础知识
- sql中group的使用
- JavaWEB常见问题(二)
- 字符串扩展
- 北京师范大学第十四届ACM决赛- BSquared Permutation 树状数组
- mysql集群的安装
- C语言的32个关键字、9种控制语句、34个运算符
- HttpClient中转上传文件
- HDU3829 Cat VS Dog(二分图最大独立集)
- classLoader扫盲
- 312. Burst Balloons
- 【小白的CFD之旅】17 需要编程?