import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
/*
* 小明发明了一种给由全大写字母组成的字符串编码的方法。对于每一个大写字母,小明将它转换成它在 26 个英文字母中序号,即 A → 1, B → 2, ... Z → 26。
这样一个字符串就能被转化成一个数字序列:
现在给定一个转换后的数字序列,小明想还原出原本的字符串。当然这样的还原有可能存在多个符合条件的字符串。小明希望找出其中字典序最大的字符串。
*/
public class Exam_2020_1_8 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in = new Scanner(System.in);
String[] index = new String[27];
for(int i = 1;i <= 26;i++) {
char tmp = (char)('A'+i-1);
index[i] = String.valueOf(tmp);
}
ArrayList<String> list = new ArrayList<>();
String num = in.next();
int test1 = 0;
for(int i = 0;i < num.length()-1;i++) {
String tmp1 = "";
tmp1 = num.substring(i,i+2);
test1 = Integer.valueOf(tmp1);
if(test1 <= 26 ) {
list.add(index[test1]);
i++;
}else {
list.add(index[Integer.valueOf(num.substring(i,i+1))]);
}
}
for(int i = 0;i < list.size();i++) {
System.out.print(list.get(i));
}
}
}
【蓝桥杯】字符串编码(Java)
最新推荐文章于 2023-03-12 16:05:00 发布