输入样例:
18013820100
输出样例:
int[] arr = new int[]{8,3,2,1,0};
int[] index = new int[]{3,0,4,3,1,0,2,4,3,4,4};
java
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a=sc.next();//获取电话号码
TreeSet aa = new TreeSet();
for (int i = 0; i <a.length(); i++) {
aa.add(a.charAt(i));//电话号码去重后得arr并按升序排列
}
ArrayList arr=new ArrayList(aa);//将去重后数字存入list集合中
Collections.reverse(arr);//逆序排列,从升序变成降序
StringBuffer a1=new StringBuffer("int[] arr = new int[]{");
StringBuffer a2=new StringBuffer("int[] index = new int[]{");
for (int i = 0; i <11 ; i++) {
if(i<arr.size()){//第一行所有信息拼接到缓冲字符串a1中
if(i==0){
a1.append(arr.get(i));
if(arr.size()==1){//以防电话号码是11111111111【全是相同数字】
a1.append("};");
}
}else{
a1.append(","+arr.get(i));
if(i==arr.size()-1){
a1.append("};");
}
}
}
int index=(arr.indexOf(a.charAt(i)));//获取电话号码在arr去重数组对应的下标存入临时变量Index中
if(i==0){//第二行所有信息拼接到缓冲字符串a2中
a2.append(index);
}else {
a2.append(","+index);
if(i==10){
a2.append("};");
}
}
}
System.out.println(a1+"\n"+a2);
}
}