2014微软在线测试-String reorder-WA
来源:互联网 发布:python dll 编辑:程序博客网 时间:2024/05/17 23:46
题意:
For this question, your program is required to process an input string containing only ASCII characters between ‘0’ and ‘9’, or between ‘a’ and ‘z’ (including ‘0’, ‘9’, ‘a’, ‘z’).
Your program should reorder and split all input string characters into multiple segments, and output all segments as one concatenated string. The following requirements should also be met,
1. Characters in each segment should be in strictly increasing order. For ordering, ‘9’ is larger than ‘0’, ‘a’ is larger than ‘9’, and ‘z’ is larger than ‘a’ (basically following ASCII character order).
2. Characters in the second segment must be the same as or a subset of the first segment; and every following segment must be the same as or a subset of its previous segment.
Your program should output string “<invalid input string>” when the input contains any invalid characters (i.e., outside the '0'-'9' and 'a'-'z' range).
aabbccdd007799aabbccddeeff113355zz1234.89898abcdefabcdefabcdefaaaaaaaaaaaaaabbbbbbbddddddee
abcdabcd013579abcdefz013579abcdefz<invalid input string>abcdefabcdefabcdefabdeabdeabdabdabdabdabaaaaaaa代码WA,得了90,不知道哪里错误。
思路,是先计算出每个字符出现的字数,然后根据次数,重组新的字符串输出。
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);String s = in.next();int length = s.length();if(length<1){ System.out.println("");return;}StringBuilder ret = new StringBuilder();int[] a = new int[256];for(int i=0;i<length;i++){char c = s.charAt(i);if((c>='0' && c<='9') || (c>='a' && c<='z')){a[c]++;}else{System.out.println("<invalid input string>");return;}}boolean b = true;while(b){b = false;for(int i=48;i<123;i++){if(a[i]>0){char c = (char)i;ret.append(c);a[i]--;if(a[i]>0){b=true;}}}}System.out.println(ret.toString());}}
- 2014微软在线测试-String reorder-WA
- 微软2014实习生在线测试之String reorder
- 微软2014实习生在线测试之String reorder .
- 微软2014实习生及秋令营技术类职位在线测试 String reorder java
- 微软2014实习生及秋令营技术类职位在线测试-题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试-题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试 题目1 : String reorder
- 微软2014实习生及校招秋令营技术类职位在线测试:1.String reorder
- 微软2014实习生及秋令营技术类职位在线测试——String reorder
- 微软2014实习生及秋令营技术类职位在线测试——String reorder
- 微软2014实习生及秋令营技术类职位在线测试:String reorder
- 微软2014实习生及秋令营技术类职位在线测试--String reorder
- 微软2014实习生及秋令营技术类职位在线测试(题目1 : String reorder)
- 微软2014实习生及秋令营技术类职位在线测试第一题:String reorder
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生招聘在线测试第1题——string reorder
- 【微软2014实习生及秋令营技术类职位在线测试】题目1 : String reorder
- 微软2014实习生及秋令营技术类职位在线测试 原创解答 题目1 : String reorder
- 微软2014机试第一题
- IE6下li无法自适应宽度解决办法
- 二叉树相关面试题及代码
- 随想-2014-04-12
- HDU_2031进制转换
- 2014微软在线测试-String reorder-WA
- 妙味云课堂之css:滑动门、圆角、css精灵
- 使用Disk Genius恢复硬盘分区表
- 微软2014实习 Reduce inversion count 【next_permutation】
- 在MyEclipse中写Jsp时,老是会有这种情况,正写着代码,突然光标跳到别的地方了,经常导致输入错误,直接导致程序错误 解决方法
- 今天是2014.4,12
- 再谈支付宝钱包插件和说好的 Demo
- 微软2014实习生及秋令营技术类职位在线测试-题目2 : K-th string
- Java中堆内存和栈内存详解